Jump to content

Archived

This topic is now archived and is closed to further replies.

cintiadel

[Resolvido] Checkboxlist vários registros no SQL

Recommended Posts

Beleza então vamos pra segunda parte, la na sua última página onde você já tem todos os valores armazenados em sua session.

Agora você fará um for com base na quantidade de items da sua Array.

Tente e poste o código desse for com base na array.

 

Abraços...

mas eu nao criei a array eu só joguei os valores em uma session, assim:

Dim q10 As String = ""
		Dim grad As CheckBoxList = cbl_grad.FindControl("cbl_grad") ' Recuperamos nosso checkboxlist
		' Navegamos nos itens do checkboxlist para verificar quais estão selecionados
		For i As Integer = 0 To grad.Items.Count - 1
			If grad.Items(i).Selected Then
				q10 = q10 & grad.Items(i).Value
			End If
		Next
desculpe eu to muito confusa com isso

Share this post


Link to post
Share on other sites

Depois que você tiver todos os valores armazenados na sua session basta:

Dim myArray As Array
		myArray = Session("sCheckBox").ToString.Split(",")

		For i As Integer = 0 To myArray.Length - 1
			Dim valorArray As String = myArray(i).ToString
			'Seu insert Aqui lenda a varival valorArray
		Next

Abraços...

Share this post


Link to post
Share on other sites

Depois que você tiver todos os valores armazenados na sua session basta:

Dim myArray As Array
		myArray = Session("sCheckBox").ToString.Split(",")

		For i As Integer = 0 To myArray.Length - 1
			Dim valorArray As String = myArray(i).ToString
			'Seu insert Aqui lenda a varival valorArray
		Next

Abraços...

deu erro na última página: Object reference not set to an instance of an object.

meu código ficou assim, nas páginas dos checkboxlist:

Dim q10 As String = ""
		Dim grad As CheckBoxList = cbl_grad.FindControl("cbl_grad") ' Recuperamos nosso checkboxlist
		' Navegamos nos itens do checkboxlist para verificar quais estão selecionados
		For i As Integer = 0 To grad.Items.Count - 1
			If grad.Items(i).Selected Then
				q10 = q10 & grad.Items(i).Value & ","
			End If
		Next

e na última do insert:

Dim myArray As Array
		myArray = Session("q10").ToString.Split(",")

		For i As Integer = 0 To myArray.Length - 1
			Dim valorArray As String = myArray(i).ToString
			'Seu insert Aqui lendo a variavel valorArray
			sqlGrava.InsertCommand = "Insert into tabela(questao,tipo_questao,resposta,email) values (10,1,'" & Session("valorArray") & "','" & Session("email") & "')"
			sqlGrava.Insert()

		Next

Share this post


Link to post
Share on other sites

Você deve alimentar a Session("q10") em nenhum lugar você alimentou ela.

 

Abraços...

alimentei nessa linha ela tah pegando os valores selecionados:

q10 = q10 & grad.Items(i).Value & ","
pode me explicar o que é o que nessa linha:

Session.Add("cbl_grad", "1")

Share this post


Link to post
Share on other sites

Simplesmente cria uma session com o nome de cbl_grad com o valor 1.

O que você usou é uma variável, você tem que usar Session.

 

Abraços...

mas como pegar os valores selecionados no checkboxlist e jogar na session?

Share this post


Link to post
Share on other sites

Basta você falar que a Session é igual a variável que esta recebendo os valores do CheckBox

 

Dim q10 As String = ""
		Dim grad As CheckBoxList = cbl_grad.FindControl("cbl_grad") ' Recuperamos nosso checkboxlist
		' Navegamos nos itens do checkboxlist para verificar quais estão selecionados
		For i As Integer = 0 To grad.Items.Count - 1
			If grad.Items(i).Selected Then
				q10 = q10 & grad.Items(i).Value & ","
			End If
		Next
Session("q10") = q10

cintia você tem que pegar uma apostilas na net, dar uma olhada em alguns sites, são algumas coisas simples que um programador tem que conseguir fazer.

 

Abraços...

Share this post


Link to post
Share on other sites

Basta você falar que a Session é igual a variável que esta recebendo os valores do CheckBox

 

Dim q10 As String = ""
		Dim grad As CheckBoxList = cbl_grad.FindControl("cbl_grad") ' Recuperamos nosso checkboxlist
		' Navegamos nos itens do checkboxlist para verificar quais estão selecionados
		For i As Integer = 0 To grad.Items.Count - 1
			If grad.Items(i).Selected Then
				q10 = q10 & grad.Items(i).Value & ","
			End If
		Next
Session("q10") = q10

cintia você tem que pegar uma apostilas na net, dar uma olhada em alguns sites, são algumas coisas simples que um programador tem que conseguir fazer.

 

Abraços...

desculpe é q esse código tah me confundindo já coloquei na session que já havia feito antes, mas deve ter algo errado ainda pq ele n inseriu os valores certos no banco, fiz o debugue e ele pega os valores correto e guarda na session direitinho de acordo com o codigo acima, o erro deve estar na última página do insert:

Dim myArray As Array
		myArray = Session("q10").ToString.Split(",")

		For i As Integer = 0 To myArray.Length - 1
			Dim valorArray As String = myArray(i).ToString
			'Seu insert Aqui lendo a variavel valorArray
			sqlGrava.InsertCommand = "Insert into tabela (questao,tipo_questao,resposta,email) values (10,1,'" & Session("valorArray") & "','" & Session("email") & "')"
			sqlGrava.Insert()

		Next

Share this post


Link to post
Share on other sites

Dim myArray As Array
		myArray = Session("q10").ToString.Split(",")

		For i As Integer = 0 To myArray.Length - 1
			Dim valorArray As String = myArray(i).ToString
			'Seu insert Aqui lendo a variavel valorArray
			sqlGrava.InsertCommand = "Insert into tabela (questao,tipo_questao,resposta,email) values (10,1,'" & valorArray & "','" & Session("email") & "')"
			sqlGrava.Insert()

		Next

De uma olhada no código que eu postei acima.

 

Abraços...

Share this post


Link to post
Share on other sites

Dim myArray As Array
		myArray = Session("q10").ToString.Split(",")

		For i As Integer = 0 To myArray.Length - 1
			Dim valorArray As String = myArray(i).ToString
			'Seu insert Aqui lendo a variavel valorArray
			sqlGrava.InsertCommand = "Insert into tabela (questao,tipo_questao,resposta,email) values (10,1,'" & valorArray & "','" & Session("email") & "')"
			sqlGrava.Insert()

		Next

De uma olhada no código que eu postei acima.

 

Abraços...

funcionou, só que inseriu além dos valores um registro em branco, pq sendo que na session n tem esse valor em branco, pode ter a ver com a virgula?

mas uma dúvida tenho q criar um array para cada checkboxlist?

Ou com esse código consigo concatenar, se consigo o que devo colocar no lugar de sCheckbox e no lugar do 1?

Session.Add("sCheckBox", "1")
		Session("sCheckBox") += ",2"
		Session("sCheckBox") += ",3"
		Session("sCheckBox") += ",4"

Share this post


Link to post
Share on other sites

Não sei por que foi inserido esse valor em branco, pode ser algum valor que veio na sua session.

Faça uma verificação antes do insert, faz um if verificando se valorArray é diferente de branco.

 

Abraços...

e qto a essa daqui:

mas uma dúvida tenho q criar um array para cada checkboxlist?

Ou com esse código consigo concatenar, se consigo o que devo colocar no lugar de sCheckbox e no lugar do 1?

Session.Add("sCheckBox", "1")
		Session("sCheckBox") += ",2"
		Session("sCheckBox") += ",3"
		Session("sCheckBox") += ",4"

Share this post


Link to post
Share on other sites

sCheckBox é o nome da sua session.

Os valores, 1, 2, 3, 4 são os valores do seu ChexkBox.

 

Abraços...

isso você ja havia me explicado a minha pergunta é tenho q criar um array para cada checkboxlist? e se devo vou ter q colocar para cada checkboxlist a session.add e tbm todos os valores do meu checkboxlist?

obrigada pela paciência

Share this post


Link to post
Share on other sites

Não tem que ser uma array para cada checkbox, será uma array para cada formulário.

E você só tuiliza o Session.Add na primeira, quando você cria a session.

 

Abraços...

bom se cada checkboxlist esta numa pagina diferente entao estão em formulários diferentes correto?

Share this post


Link to post
Share on other sites

Sim.

 

Abraços...

então vou ter q criar uma array para cada checkboxlist mesmo né?

não tem como fazer um loop sei lá pra pegar todos não?

ainda n entendi a utilização desse código, eu não usei ele, qual a funcionalidade dele:

Session.Add("sCheckBox", "1")
		Session("sCheckBox") += ",2"
		Session("sCheckBox") += ",3"
		Session("sCheckBox") += ",4"

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.