csantos Posted May 19, 2013 at 02:41 PM Report #507979 Posted May 19, 2013 at 02:41 PM (edited) ola boa tarde eu estou com uma duvida queria saber se me podem ajudar tenho um form (cons.Trabalhadores) com os seguites campos: Numero do Trabalhador ->ComboBox Nome do Trabalhador -> ComboBox Data de Nascimento->TextBox Salario->TextBox Categoria->TextBox eu queria quando escolhesse o Numero de Trabalhador que os campos Nome do Trabalhador, Data de Nascimento, Salario e Categoria sejam preenchidas automaticamente com os dados que eu tenho guardado na minha base de dados, e quando eu escolher Nome do Trabalhador preenche os campos Numero do Trabalhador, Data de Nascimento, Salario e Categoria. tou com dificuldades em fazer o codigo................ Agradeço a ajuda... eu comecei por fazer o seguite codigo: Private Sub CB_NumeroTrabalhador_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_NumeroTrabalhador.SelectedIndexChanged con = New SqlConnection(connectionstring) con.Open() Dim cmd As New SqlCommand("SELECT NOME_TRABALHADOR from TRABALHADORES WHERE NUMERO_TRABALHADOR = '" & CB_NumeroTrabalhador.SelectedItem & "' ORDER BY NOME_TRABALHADOR", con) Dim drdr As SqlDataReader drdr = cmd.ExecuteReader drdr.Read() CB_Nome_Trabalhador.Text = drdr.Item("NOME_TRABALHADOR").ToString con.Close() End Sub Private Sub CB_Nome_Trabalhador_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_Nome_Trabalhador.SelectedIndexChanged con = New SqlConnection(connectionstring) con.Open() Dim cmd As New SqlCommand("SELECT NUMERO_TRABALHADOR, DATA_NASCIMENTO from TRABALHADORES WHERE NOME_TRABALHADOR = '" & CB_Nome_Trabalhador.SelectedItem & "' ORDER BY NUMERO_TRABALHADOR", con) Dim drdr As SqlDataReader drdr = cmd.ExecuteReader drdr.Read() CB_NumeroTrabalhador.Text = drdr.Item("NUMERO_TRABALHADOR").ToString con.Close() End Sub Edited May 19, 2013 at 02:45 PM by ribeiro55
Leonardo Pereira Posted May 20, 2013 at 08:54 PM Report #508134 Posted May 20, 2013 at 08:54 PM Não estás a usar dataset ?
renafi Posted May 21, 2013 at 08:33 AM Report #508173 Posted May 21, 2013 at 08:33 AM Ele está a fazer bem. Não precisa usar um dataset se vai só ler informação. Em principio parece que está bem. Mas está a dar-te erro, ou está a preencher as textboxes com que informação? Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist
csantos Posted May 21, 2013 at 11:10 AM Author Report #508190 Posted May 21, 2013 at 11:10 AM boas Obrigada mas já consegui fazer o codigo... deixo aqui o codigo no caso de alguem tiver alguma duvida parecida: Private Sub CB_NumeroTrabalhador_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_NumeroTrabalhador.SelectedIndexChanged con = New SqlConnection(connectionstring) con.Open() Dim cmd As New SqlCommand("SELECT NOME_TRABALHADOR,DATA_NASCIMENTO,SALARIO,CATEGORIA from TRABALHADORES WHERE NUMERO_TRABALHADOR = '" & CB_NumeroTrabalhador.SelectedItem & "' ORDER BY NOME_TRABALHADOR", con) Dim drdr As SqlDataReader drdr = cmd.ExecuteReader drdr.Read() CB_Nome_Trabalhador.Text = drdr.Item("NOME_TRABALHADOR").ToString TB_DataNascimento.Text = drdr.Item("DATA_NASCIMENTO").ToString TB_Salario.Text = drdr.Item("SALARIO").ToString TB_categoria.Text = drdr.Item("CATEGORIA").ToString con.Close() End Sub Private Sub CB_Nome_Trabalhador_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_Nome_Trabalhador.SelectedIndexChanged con = New SqlConnection(connectionstring) con.Open() Dim cmd As New SqlCommand("SELECT NUMERO_TRABALHADOR, DATA_NASCIMENTO,SALARIO,CATEGORIA from TRABALHADORES WHERE NOME_TRABALHADOR = '" & CB_Nome_Trabalhador.SelectedItem & "' ORDER BY NUMERO_TRABALHADOR", con) Dim drdr As SqlDataReader drdr = cmd.ExecuteReader drdr.Read() CB_NumeroTrabalhador.Text = drdr.Item("NUMERO_TRABALHADOR").ToString TB_DataNascimento.Text = drdr.Item("DATA_NASCIMENTO").ToString TB_Salario.Text = drdr.Item("SALARIO").ToString TB_categoria.Text = drdr.Item("CATEGORIA").ToString con.Close() End Sub
bioshock Posted May 21, 2013 at 12:35 PM Report #508203 Posted May 21, 2013 at 12:35 PM Isso não está a ser lá muito bem feito. Está um bocado aos pontapés. E estás a pecar na segurança ao não passares os dados por parâmetros. Dim query As String = "SELECT * FROM Tabela WHERE Campo = @campo" Dim cmd As New SqlCommand(query, con) cmd.Parameters.Add("@campo", SqlDbType.VarChar).Value = CB_Nome_Trabalhador.SelectedItem.ToString() if(con.State <> ConnectionState.Open) Then con.Open() Dim dR As New SqlDataReader = cmd.ExecuteReader() While(dR.Read()) // Código End While con.Close() Melhor ainda, seria fazeres uma função que te retornasse um array de valores de acordo com a query.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now