RECUPERAR CADASTRO
Boa noite amigos.
tendo dificuldades em implementar a busca de produto na tabela
se possÃvel, dicas de boas praticas.
obrigado a todos.
tendo dificuldades em implementar a busca de produto na tabela
se possÃvel, dicas de boas praticas.
obrigado a todos.
Private Sub txt_CodRefBarra_LostFocus(sender As Object, e As EventArgs) Handles txt_CodRefBarra.LostFocus
ConectarBD() [ô]Abro o banco de dados
Dim Produto As New DataTable
DA = New FbDataAdapter([Ô]Select * from PRODUTO WHERE REFERENCIA =[ô][Ô] & txt_CodRefBarra.Text.Trim & [Ô][ô][Ô], strConexao.ConnectionString)
DA.Fill(Produto) [ô]Carrego as informações obtidas no datatable
If Produto.Rows.Count = 0 Then
MsgBox([Ô]Produto não cadastrado ou não localizado![Ô], MsgBoxStyle.Exclamation, [Ô]Atenção[Ô])
Else
txt_DescProduto.Text = Produto. [ô] --- >aqui não estou acertando.
End If
strConexao.Close() [ô]Fecho a conexão
End Sub
A sim
Na verdade você tem que especificar qual a linha (caso seu select retorne mais de que uma) e a coluna deseja pegar. assim:
Isso em C#. Em VB provavelmente você irá trocar os colchetes [Ô][ ][Ô] por parênteses.
E Como todo indice começa do zero, repare que pela lógica está pegando a primeira linha na coluna desconto. Por isso especifique a coluna entre aspas duplas já que é uma string.
Na verdade você tem que especificar qual a linha (caso seu select retorne mais de que uma) e a coluna deseja pegar. assim:
txt_DescProduto.Text = Produto.Rows[0][[Ô]desconto[Ô]].ToString();
Isso em C#. Em VB provavelmente você irá trocar os colchetes [Ô][ ][Ô] por parênteses.
E Como todo indice começa do zero, repare que pela lógica está pegando a primeira linha na coluna desconto. Por isso especifique a coluna entre aspas duplas já que é uma string.
Citação::
A sim
Na verdade você tem que especificar qual a linha (caso seu select retorne mais de que uma) e a coluna deseja pegar. assim:txt_DescProduto.Text = Produto.Rows[0][[Ô]desconto[Ô]].ToString();
Isso em C#. Em VB provavelmente você irá trocar os colchetes [Ô][ ][Ô] por parênteses.
E Como todo indice começa do zero, repare que pela lógica está pegando a primeira linha na coluna desconto. Por isso especifique a coluna entre aspas duplas já que é uma string.
Citação::
A sim
Na verdade você tem que especificar qual a linha (caso seu select retorne mais de que uma) e a coluna deseja pegar. assim:txt_DescProduto.Text = Produto.Rows[0][[Ô]desconto[Ô]].ToString();
Isso em C#. Em VB provavelmente você irá trocar os colchetes [Ô][ ][Ô] por parênteses.
E Como todo indice começa do zero, repare que pela lógica está pegando a primeira linha na coluna desconto. Por isso especifique a coluna entre aspas duplas já que é uma string.
Amigo, não retornou o valor solicitado.
Dim parametrosNomes(1) As String
parametrosNomes(0) = [Ô]@id[Ô]
Dim parametrosValores(1) As String
parametrosValores(0) = mId
sql = [Ô]select * from usuarios where id = @id[Ô]
Dim Manipula As New dalManipulaBD
Dim ds As DataSet
ds = Manipula.RetornaDS(sql, parametrosNomes, parametrosValores)
If ds.Tables(0).Rows.Count > 0 Then
ID = ds.Tables(0).Rows(0).Item([Ô]id[Ô]).ToString
Usuario = ds.Tables(0).Rows(0).Item([Ô]usuario[Ô]).ToString
Else
ID = 0
End If
Public Overloads Function RetornaDS(ByVal sql As String, ByVal ParameterNames() As String, ByVal parameterVals() As String) As DataSet
Using connection As MySqlConnection = AbreConexao()
Using da As MySqlDataAdapter = New MySqlDataAdapter(sql, connection)
Dim table As New DataTable
FillParameters(da.SelectCommand, ParameterNames, parameterVals)
Dim ds As DataSet = Nothing
ds = New DataSet()
da.Fill(ds)
Return ds
End Using
End Using
End Function
Olá,
Suspeito que o campo referência seja único certo? Caso for você assim:
Suspeito que o campo referência seja único certo? Caso for você assim:
Private Sub txt_CodRefBarra_LostFocus(sender As Object, e As EventArgs) Handles txt_CodRefBarra.LostFocus
ConectarBD() [ô]Abro o banco de dados
Dim Produto As New DataTable
DA = New FbDataAdapter([Ô]Select * from PRODUTO WHERE REFERENCIA =[ô][Ô] & txt_CodRefBarra.Text.Trim & [Ô][ô][Ô], strConexao.ConnectionString)
DA.Fill(Produto) [ô]Carrego as informações obtidas no datatable
If Produto.Rows.Count = 0 Then
MsgBox([Ô]Produto não cadastrado ou não localizado![Ô], MsgBoxStyle.Exclamation, [Ô]Atenção[Ô])
Else
[ô]Aqui está o código, teste para verificar...os nomes no parênteses são os campos correspondentes ao seu banco de dados
[ô]##################################################################################################
[b] txt_DescProduto.Text = Produto.Rows(0)([Ô]DescPronto[Ô]).ToString.
txt_Nome.Text = Produto.Rows(0)([Ô]Nome[Ô]).ToString
[ô]##################################################################################################[/b]
End If
strConexao.Close() [ô]Fecho a conexão
End Sub
Citação::
Olá,
Suspeito que o campo referência seja único certo? Caso for você assim:Private Sub txt_CodRefBarra_LostFocus(sender As Object, e As EventArgs) Handles txt_CodRefBarra.LostFocus
ConectarBD() [ô]Abro o banco de dados
Dim Produto As New DataTable
DA = New FbDataAdapter([Ô]Select * from PRODUTO WHERE REFERENCIA =[ô][Ô] & txt_CodRefBarra.Text.Trim & [Ô][ô][Ô], strConexao.ConnectionString)
DA.Fill(Produto) [ô]Carrego as informações obtidas no datatable
If Produto.Rows.Count = 0 Then
MsgBox([Ô]Produto não cadastrado ou não localizado![Ô], MsgBoxStyle.Exclamation, [Ô]Atenção[Ô])
Else
[ô]Aqui está o código, teste para verificar...os nomes no parênteses são os campos correspondentes ao seu banco de dados
[ô]##################################################################################################
[b] txt_DescProduto.Text = Produto.Rows(0)([Ô]DescPronto[Ô]).ToString.
txt_Nome.Text = Produto.Rows(0)([Ô]Nome[Ô]).ToString
[ô]##################################################################################################[/b]
End If
strConexao.Close() [ô]Fecho a conexão
End Sub
Olá RICARDOCENTENO, boa noite
1º - ao informar o numero que não está cadastrado, retorno a mensagem não cadastrado, até aà tudo certinho..
mas ao informar um numero existente, não retorna o valor Descrição do campo
mas exibe esse erro aqui
Aqui a conexão
Imports FirebirdSql.Data.FirebirdClient
Module modBanco
Public strConexao As FbConnection = New FbConnection([Ô]User=SYSDBA;[Ô] &
[Ô]Password=masterkey;[Ô] &
[Ô]Database=[Ô] & Application.StartupPath & [Ô]\BDADOS.fdb;[Ô] &
[Ô]Port=3050;[Ô] &
[Ô]Dialect=3;[Ô] &
[Ô]Charset=NONE;[Ô] &
[Ô]Connection lifetime=0;[Ô] &
[Ô]Connection timeout=15;[Ô] &
[Ô]Pooling=True;[Ô] &
[Ô]Packet Size=8192;[Ô] &
[Ô]Server Type=0[Ô])
Public Sub ConectarBD()
Try
Cursor.Current = Cursors.WaitCursor
strConexao.Open()
Cursor.Current = Cursors.Default
Catch ex As Exception
MsgBox([Ô]O programa não conseguiu abrir a base de dados devido ao seguinte erro:[Ô] & Chr(13) & Chr(13) & [Ô][ô][ô][Ô] & ex.Message.ToUpper & [Ô][ô][ô].[Ô] & Chr(13) & Chr(13) & [Ô]Entre em contato com o suporte informando o código de erro [ô][ô][Ô] & ex.HResult & [Ô][ô][ô]. O sistema será finalizado![Ô], MsgBoxStyle.Exclamation, [Ô]Erro [Ô] & ex.HResult)
End Try
End Sub
End Module
Tópico encerrado , respostas não são mais permitidas