DO BANCO PARA TEXTBOX

ADHEL 14/08/2013 10:26:05
#427519
Estou trazendo dados do banco para os textboxs.
Na classe.
   Public Sub LerDados()
Try
c.conOpen()
Dim sql As String = [Ô]select * from funcionarios where id=@id[Ô]
c.cmd = New MySqlCommand(sql, c.cnn)
c.cmd.Parameters.AddWithValue([Ô]@id[Ô], _id)
Dim dr As MySqlDataReader = c.cmd.ExecuteReader()
If dr.HasRows Then
While dr.Read()
_admissao = CDate(dr([Ô]admissao[Ô]).ToString)
_cargo = (dr([Ô]cargo[Ô]).ToString)
_celular = (dr([Ô]celular[Ô]).ToString)
_cidade = (dr([Ô]cidade[Ô]).ToString)
_cpf = (dr([Ô]cpf[Ô]).ToString())
_nome = (dr([Ô]nome[Ô]).ToString)
_salario = CDbl(dr([Ô]salario[Ô]).ToString)
_telefone = (dr([Ô]telefone[Ô]).ToString)
End While
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
c.conClose()
End Try
End Sub

No form a rotina encontra-se no evento CellDoubleClick do DataGridView.
Os dados estão sendo preenchidos.
    Private Sub dgv_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv.CellDoubleClick
_func.Id = CInt(dgv.CurrentRow.Cells(0).Value)
_func.LerDados()
DTPickerAdmissao.Value = _func.Admissao
txtCargo.Text = _func.Cargo
txtCelular.Text = _func.Celular
txtCidade.Text = _func.Cidade
txtCpf.Text = _func.Cpf
txtNome.Text = _func.Nome
txtSalario.Text = CStr(_func.Salario)
txtTelefone.Text = _func.Telefone
End Sub

Gostaria de saber se o modo que estou aplicando está correto em se tratando de OOP.
Me perdoem se eu disser bobagem abaixo.
Como esse DataGridView é populado por List OF, eu poderia pegar um ID qualquer dessa List e os dados inerentes a esse ID e carregá-los nos textboxs , sem precisar usar esse método acima?
até mais.
NILSONTRES 15/08/2013 14:00:37
#427584
Resposta escolhida
ADHEL,
Da sim, faz esse teste aqui no CellDoubleClick do seu grid:

txtCargo.Text = sualist(e.RowIndex).Cargo

ADHEL 15/08/2013 14:14:07
#427588
Nilson obrigado pela atenção.
Antes de fechar o tópico,o método que chamo os dados está certo em se tratando de OOP ?
Você também usa um DataReader para trazer os dados ?
até mais.
KERPLUNK 15/08/2013 14:25:56
#427589
Seu método está bom, a única coisa que mudaria é o while para o datareader. A linha [Ô]while dr.Read()[Ô], seria para quando o datareader traz mais de um registro então você preencheria uma lista de retorno. Como no seu caso retorna somente um, eu usaria:

dr.Read()
//leitura normal dos dados, sem estar dentro de um while...
NILSONTRES 15/08/2013 18:45:37
#427607
Citação:

Você também usa um DataReader para trazer os dados ?


Sim Utilizo.

Citação:

Seu método está bom, a única coisa que mudaria é o while para o datareader. A linha [Ô]while dr.Read()[Ô], seria para quando o datareader traz mais de um registro



Entendeu o KERPLUNK ?
ADHEL 16/08/2013 08:35:52
#427626
Entendi.
Obrigado aos dois mais uma vez
Tópico encerrado , respostas não são mais permitidas