PASSAR_CONTEUDO_DATAGRIDVIEW_X_TEXTBOX

FERRAZ 14/09/2015 10:23:05
#451369
Bom dia a todos,

Estou tentando passar o conteudo do meu datagriview para os textbox de um form mais me ocorre um erro de conversão vejam;

Private Sub MostraReg()
[ô]aqui nao esta funcionando como esperado ajustar adquadamente,13/09/15
Dim conn As New Conn [ô]essa é a instancia da classe de conexao
Dim dados As DataTable = Conn.Pesquisar([Ô]SELECT * FROM TbFerrtas Order By Registro[Ô])
Dim CvReg As Integer = Convert.ToInt16(dados.Rows(0))
With FrmFerrtas
.TxtReg.Text = CvReg & DtaGdView.Rows(0).Cells(0).Value.ToString([Ô]Registro[Ô])
.TxtDta.Text = CvReg & DtaGdView.Rows(1).Cells(1).Value.ToString([Ô]Data[Ô])
.TxtCod.Text = CvReg & DtaGdView.Rows(2).Cells(2).Value.ToString([Ô]Cod[Ô])
.TxtNome.Text = CvReg & DtaGdView.Rows(3).Cells(3).Value.ToString([Ô]Nome[Ô])
.TxtEmpresa.Text = CvReg & DtaGdView.Rows(4).Cells(4).Value.ToString([Ô]Empresa[Ô])
.TxtEstq.Text = CvReg & DtaGdView.Rows(5).Cells(5).Value.ToString([Ô]Estq[Ô])
.TxtUltDta.Text = CvReg & DtaGdView.Rows(6).Cells(6).Value.ToString([Ô]UltDta[Ô])
.TxtBP.Text = CvReg & DtaGdView.Rows(7).Cells(7).Value.ToString([Ô]Bp[Ô])
.TxtObs.Text = CvReg & DtaGdView.Rows(8).Cells(8).Value.ToString([Ô]Obs[Ô])
End With
End Sub


Grato, a todos
TUNUSAT 14/09/2015 10:43:35
#451371
FERRAZ,

Se você puder apontar qual linha seria interessante.
Mas segue uma dica: Caso seu banco de dados contenha campos [Ô]preenchidos[Ô] com NULL, então você precisa adicionar ao final da linha: (& [Ô][Ô]). Exemplo:
.TxtObs.Text = CvReg & DtaGdView.Rows(8).Cells(8).Value.ToString([Ô]Obs[Ô]) & [Ô][Ô]


[][ô]s,
Tunusat.
FERRAZ 14/09/2015 11:18:43
#451376
Tunusat, tudo bem.

Viu fiz as alterações porque algum campo eh nulo, mais o erro continua;

 Private Sub MostraReg()
Dim conn As New Conn [ô]essa é a instancia da classe de conexao
Dim dados As DataTable = conn.Pesquisar([Ô]SELECT * FROM TbFerrtas Order By Registro[Ô])
Dim CvReg As Integer = Convert.ToInt16(dados.Rows(0)([Ô]Registro[Ô]).ToString())
With FrmFerrtas
.TxtReg.Text = CvReg & DtaGdView.Rows(0).Cells(0).Value.ToString([Ô]Registro[Ô]) & [Ô][Ô]
.TxtDta.Text = CvReg & DtaGdView.Rows(1).Cells(1).Value.ToString([Ô]Data[Ô]) & [Ô][Ô]
.TxtCod.Text = CvReg & DtaGdView.Rows(2).Cells(2).Value.ToString([Ô]Cod[Ô]) & [Ô][Ô]
.TxtNome.Text = CvReg & DtaGdView.Rows(3).Cells(3).Value.ToString([Ô]Nome[Ô]) & [Ô][Ô]
.TxtEmpresa.Text = CvReg & DtaGdView.Rows(4).Cells(4).Value.ToString([Ô]Empresa[Ô]) & [Ô][Ô]
.TxtEstq.Text = CvReg & DtaGdView.Rows(5).Cells(5).Value.ToString([Ô]Estq[Ô]) & [Ô][Ô]
.TxtUltDta.Text = CvReg & DtaGdView.Rows(6).Cells(6).Value.ToString([Ô]UltDta[Ô]) & [Ô][Ô]
.TxtBP.Text = CvReg & DtaGdView.Rows(7).Cells(7).Value.ToString([Ô]Bp[Ô]) & [Ô][Ô]
.TxtObs.Text = CvReg & DtaGdView.Rows(8).Cells(8).Value.ToString([Ô]Obs[Ô]) & [Ô][Ô]
End With
End Sub


Messagem do erro;
A conversão da seqüência de caracteres [ô]Registro[ô] no tipo [ô]Integer[ô] não é válida.

Grato,
TUNUSAT 14/09/2015 11:51:46
#451377
FERRAZ,

Espere! Desculpe, você está usando VB.Net, acho que não precisa do (& [Ô][Ô]) no vb.Net, só no VB6.

O erro está na linha abaixo, experimente comenta-la e rode de novo para termos certeza que é ela.
Dim CvReg As Integer = Convert.ToInt16(dados.Rows(0)([Ô]Registro[Ô]).ToString())


Mas o que tem dentro do campo [Ô]registro[Ô]? Tem certeza que é um inteiro de 16 bits?

[][ô]s,
Tunusat.
ACCIOLLY 14/09/2015 13:33:22
#451382
Resposta escolhida
Boa tarde Ferraz

Vc não precisa passar os valores do datagrid e sim do datatable

TxtReg.Text = dados.Rows(0)([Ô]Registro[Ô]).toString();


ou

TxtReg.DataBindings.Add([Ô]Text[Ô], dados, [Ô]Registro[Ô]);


Eu particularmente prefiro a primeira opção

Se a sua intenção é passar esses valores pra outro form, me manda seu proj zipado pra dar uma olhada

té mais
FERRAZ 14/09/2015 13:35:58
#451383
Tunusat,

neste campo no bd mysql eh = 000002.

Agora ele me informa que não tem linha na posição 5 eu ainda não entendi o motivo e daí eu convertir todas as linhas para ver no que ia dar e segue o erro;
 Private Sub MostraReg()
Dim conn As New Conn [ô]essa é a instancia da classe de conexao
Dim dados As DataTable = conn.Pesquisar([Ô]SELECT * FROM TbFerrtas Order By Registro[Ô])
Dim CvReg As Integer = Convert.ToInt16(dados.Rows(0)([Ô]Registro[Ô]).ToString()) & _
(dados.Rows(1)([Ô]Data[Ô]).ToString()) & _
(dados.Rows(2)([Ô]Cod[Ô]).ToString()) & _
(dados.Rows(3)([Ô]Nome[Ô]).ToString()) & _
(dados.Rows(4)([Ô]Empresa[Ô]).ToString()) & _
(dados.Rows(5)([Ô]Estq[Ô]).ToString()) & _
(dados.Rows(6)([Ô]UltDta[Ô]).ToString()) & _
(dados.Rows(7)([Ô]Bp[Ô]).ToString()) & _
(dados.Rows(8)([Ô]Obs[Ô]).ToString())
With FrmFerrtas
.TxtReg.Text = CvReg & DtaGdView.Rows(0).Cells(0).Value.ToString([Ô]Registro[Ô])
.TxtDta.Text = CvReg & DtaGdView.Rows(1).Cells(1).Value.ToString([Ô]Data[Ô])
.TxtCod.Text = CvReg & DtaGdView.Rows(2).Cells(2).Value.ToString([Ô]Cod[Ô])
.TxtNome.Text = CvReg & DtaGdView.Rows(3).Cells(3).Value.ToString([Ô]Nome[Ô])
.TxtEmpresa.Text = CvReg & DtaGdView.Rows(4).Cells(4).Value.ToString([Ô]Empresa[Ô])
.TxtEstq.Text = CvReg & DtaGdView.Rows(5).Cells(5).Value.ToString([Ô]Estq[Ô])
.TxtUltDta.Text = CvReg & DtaGdView.Rows(6).Cells(6).Value.ToString([Ô]UltDta[Ô])
.TxtBP.Text = CvReg & DtaGdView.Rows(7).Cells(7).Value.ToString([Ô]Bp[Ô])
.TxtObs.Text = CvReg & DtaGdView.Rows(8).Cells(8).Value.ToString([Ô]Obs[Ô])
End With
End Sub


Messagem de erro = não linha na posição 5

Grato,
FERRAZ 14/09/2015 13:56:02
#451384
Acciolly, tarde.

Eu na verdade estou tentando aprender mais e estava eu modificando o codigo que vc me passou, mais, infelizmente preciso de mais tempo para tanto.

Vou usar seu conselho com a primeira opção =
Citação:

TxtReg.Text = dados.Rows(0)([Ô]Registro[Ô]).toString();



Depois eu posto o resultado.

Grato,
OMAR2011 14/09/2015 14:24:10
#451386
Private Sub MostraReg()
Dim conn As New Conn [ô]essa é a instancia da classe de conexao
Dim dados As DataTable = conn.Pesquisar([Ô]SELECT * FROM TbFerrtas Order By Registro[Ô])
Dim CvReg As Integer = Convert.ToInt16(dados.Rows(0)([Ô]Registro[Ô]).ToString()) [txt-color=#e80000][ô]Para mim isto não tem sentido[/txt-color]
With FrmFerrtas

[ô].TxtReg.Text = [txt-color=#e80000]CvReg &[/txt-color] DtaGdView.CurrentRow.Cells(0).Value.ToString

.TxtReg.Text = CvReg & DtaGdView.CurrentRow.Cells(0).Value.ToString
.TxtDta.Text = CvReg & DtaGdView.CurrentRow.Cells(1).Value.ToString
.TxtCod.Text = CvReg & DtaGdView.CurrentRow.Cells(2).Value.ToString
.TxtNome.Text = CvReg & DtaGdView.CurrentRow.Cells(3).Value.ToString
.TxtEmpresa.Text = CvReg & DtaGdView.CurrentRow.Cells(4).Value.ToString
.TxtEstq.Text = CvReg & DtaGdView.CurrentRow.Cells(5).Value.ToString
.TxtUltDta.Text = CvReg & DtaGdView.CurrentRow.Cells(6).Value.ToString
.TxtBP.Text = CvReg & DtaGdView.CurrentRow.Cells(7).Value.ToString
.TxtObs.Text = CvReg & DtaGdView.CurrentRow.Cells(8).Value.ToString

End With
End Sub
OMAR2011 14/09/2015 14:26:04
#451387
Isto vale para a linha selecionada.
ACCIOLLY 14/09/2015 14:43:22
#451388
Só mais uma coisa
Quando agente carrega valores nos texbox temos que saber exatamente qual registro que queremos carregar trabalhando apenas com o SQL. Ex:

SELECT * FROM sua_tabela [txt-color=#e80000]WHERE campo_tabela = [ô]criterio[ô][/txt-color]


no parametro campo_tabela = [ô]criterio[ô] é melhor utilizar a chave primária da tabela ou seja, se vc quer carregar os dados nos textbox cuja chave primária seja igual a 5, ficaria assim:

SELECT * FROM tbFerrtas [txt-color=#e80000]WHERE Registro = 5[/txt-color]


OBS: quando buscamos por um valor numérico no SQL, não podemos colocar aspas simples. Colocamos somente quando estamos procurando por valores textuais.
FERRAZ 14/09/2015 15:56:31
#451390
Omar2011, tudo bem.

Olha eu estou migrando do vb6 para o .net e sabemos que são linguagens distintas certo e eu passei um código que não faz sentido eh porque estou aprendendo o .net. O fórum não eh para expertis se fosse eu teria uma prova antes de fazer parte deste que em minha opinião eh o melhor e tbem os membros da equipe e todos e inclusive vc, agora tenha um pouco de calma.

Acciolly, viu acontece um erro ainda, veja na imagem.


Grato,
Página 1 de 3 [22 registro(s)]
Tópico encerrado , respostas não são mais permitidas