Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

passado

resolver problemas

Recommended Posts

Boas pessoal tou aqui com alguns erros que gostava de saber se me podiam ajudar.

 

O primeiro é: eu tenho dois radiobutton e uma textbox, selecciona no radiobutton a pesquisa que quero fazer e os resultados vai aparecer numa listbox que tenho e se fizer uma pesquisa no primeiro radiobutton depois no segundo e depois voltar ao primeiro dame este erro:

 

Imagem Postada

 

 

o Segundo é: Eu tenho duas combobox que vai buscar dados as tabelas da BD, o que acontece e se eu adicionar ou eleminar ou editar esses dados, eles so aparecem alterados nas comboboxs depois de fechar e voltar a abrir os programas ja tentei combobox.refresh no fim de cada processo de adição, delete, ou edit mas nao resulta, que devo fazeR?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No primeiro item parece que não há nenhum item selecionado, já verificou o valor do ListBox ali usado?

Basta utilizar o mesmo método que utilizou para carrega-lo a primeira vez, terá que ser feita essa consulta ao banco novamente.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

fazendo uma paragem naquele ponto quando o programa corre normalmente o valor que ali da null. correndo normalmente e igual ao ID do contacto que selecciono para aparecer no formulário

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você não faz uma validação simples? Ou eu não entendi o erro.

If Me.ListBox.SelectedValue = Nothing
//blablabla

No segundo problema, eu geralmente tenho um metodo para atualizar o combo da tela, por exemplo: CarregaPaises.

Ai, toda vez que eu preciso atualizar o combo eu chamao o CarregaPais, seja isso depois de adicionar, alterar ou incluir um valor. O que acha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim para o segundo problema foi isso mesmo que eu me lembrei e fiz, criei um processo e chamo-o cada vez que quero actualizar...

 

Vou experimentar esse exemplo que deu para o primeiro erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu vou colocar o meu codigo todo para ver, as vezes o erro pode ser no processo que chamo

 

Private Sub ListBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox.SelectedIndexChanged
		If RadioButtoncontactos.Checked Then
			If (ListBox.SelectedValue.ToString() <> "System.Data.DataRowView") Then
			   carregacontactos(CInt(Me.ListBox.SelectedValue))
			End If
		ElseIf RadioButtonempresas.Checked Then
			If (ListBox.SelectedValue.ToString() <> "System.Data.DataRowView") Then
			  carregaempresas(CInt(Me.ListBox.SelectedValue))
			End If
		End If
	End Sub

Private Sub carregacontactos(ByVal ID_Contacto As Integer)
		Dim strConn As String = My.Settings.BDSofioConnectionString.ToString()
		Dim strSQL As String = "Select * from Contactos Where ID_Contacto = " & ID_Contacto
		Dim dr As SqlDataReader

		'define objeto connection e command
		Dim con As New SqlConnection(strConn)
		Dim cmd As New SqlCommand(strSQL, con)
		Try
			con.Open()
			dr = cmd.ExecuteReader
			If (dr.HasRows) Then
				dr.Read()
				ID_ContactoTextBox.Text = dr("ID_Contacto").ToString
				ID_EmpresaComboBox.SelectedValue = dr("ID_Empresa").ToString
				NomeTextBox.Text = dr("Nome").ToString
				CargoTextBox.Text = dr("Cargo").ToString
				Telefone_EmpresaTextBox.Text = dr("Telefone_Empresa").ToString
				Telefone_PessoalTextBox.Text = dr("Telefone_Pessoal").ToString
				Tlmvl_EmpresaTextBox.Text = dr("Tlmvl_Empresa").ToString
				Tlmvl_PessoalTextBox.Text = dr("Tlmvl_Pessoal").ToString
				EmailTextBox.Text = dr("Email").ToString
				validcontactmail()
				FaxTextBox.Text = dr("Fax").ToString
				NotasRichTextBox.Text = dr("Notas").ToString
			End If
		Catch ex As Exception
			MsgBox("Erro ao obter dados. Erro : " & ex.Message)
		Finally
			con.Close()
		End Try
	End Sub

 

 

Private Sub carregaempresas(ByVal ID_Empresa As Integer)
		Dim strConn As String = My.Settings.BDSofioConnectionString.ToString()
		Dim strSQL As String = "Select * from Empresas Where ID_Empresa = " & ID_Empresa
		Dim dr As SqlDataReader

		'define objeto connection e command
		Dim con As New SqlConnection(strConn)
		Dim cmd As New SqlCommand(strSQL, con)
		Try
			con.Open()
			dr = cmd.ExecuteReader
			If (dr.HasRows) Then
				dr.Read()
				empID_EmpresaTextBox.Text = dr("ID_Empresa").ToString
				empEmpresaTextBox.Text = dr("Empresa").ToString
				empID_TEmpresaComboBox.SelectedValue = dr("ID_TEmpresa").ToString
				empTelefoneTextBox.Text = dr("Telefone").ToString
				empFaxTextBox.Text = dr("Fax").ToString
				empEmailTextBox.Text = dr("Email").ToString
				validempmail()
				empEndereçoTextBox.Text = dr("Endereço").ToString
				empLocalidadeTextBox.Text = dr("Localidade").ToString
				empCodigo_PostalTextBox.Text = dr("Codigo_Postal").ToString
				empPaisTextBox.Text = dr("Pais").ToString
				empWebTextBox.Text = dr("Web").ToString
				validempweb()
			End If
		Catch ex As Exception
			MsgBox("Erro ao obter dados. Erro : " & ex.Message)
		Finally
			con.Close()
		End Try
	End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas pessoal tou aqui com alguns erros que gostava de saber se me podiam ajudar.

 

O primeiro é: eu tenho dois radiobutton e uma textbox, selecciona no radiobutton a pesquisa que quero fazer e os resultados vai aparecer numa listbox que tenho e se fizer uma pesquisa no primeiro radiobutton depois no segundo e depois voltar ao primeiro dame este erro:

 

 

o Segundo é: Eu tenho duas combobox que vai buscar dados as tabelas da BD, o que acontece e se eu adicionar ou eleminar ou editar esses dados, eles so aparecem alterados nas comboboxs depois de fechar e voltar a abrir os programas ja tentei combobox.refresh no fim de cada processo de adição, delete, ou edit mas nao resulta, que devo fazeR?

 

Passado,

1 - Mas na primeira seleção ele consegue popular o listbox? ou já na escolha do primeiro ele dá erro?

Pois parece que ele tá trazendo algum valor nulo(vazio) do banco de dados e não está conseguindo popular o combox.

 

2 - Na segunda dúvida eu faria uma thread que fica procurando no banco em tempo e tempos se teve alteração, se houve, ele popula o combo novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.