URGENTE AJUDA CONSULTA DE BANCO DE DADOS
eu estou com dificuldade para consultar um cpf em um banco de dados Access,eu usei a seguinte função:
Private Sub Procurar(ByVal Id As Integer)
Dim cn As New OleDb.OleDbConnection
cn.ConnectionString = [Ô]Provider=Microsoft.Jet.OleDb.4.0; Data Source=c:\dados\Estagiarios_contratados.mdb[Ô]
cn.Open()
Dim da As New OleDb.OleDbDataAdapter([Ô]SELECT * FROM TabEstagiarioContratado [Ô] & _
[Ô] WHERE Cpf=[Ô] & Id, cn)
Dim dt As New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
Me.txtContratadoNome.Text = dt.Rows(0).Item([Ô]Nome[Ô])
Me.txtContratadoCpf.Text = dt.Rows(0).Item([Ô]Cpf[Ô]) & [Ô][Ô]
Me.txtContratadoRg.Text = dt.Rows(0).Item([Ô]Rg[Ô]) & [Ô][Ô]
Me.txtContratadoEmail.Text = dt.Rows(0).Item([Ô]Email[Ô]) & [Ô][Ô]
Me.txtContratadoEmailReferencial.Text = dt.Rows(0).Item([Ô]Email_Referencial[Ô]) & [Ô][Ô]
Me.txtContratadoTelefone.Text = dt.Rows(0).Item([Ô]Telefone[Ô]) & [Ô][Ô]
Me.txtContratadoTelefoneReferencial.Text = dt.Rows(0).Item([Ô]Telefone_Referencial[Ô]) & [Ô][Ô]
Me.txtContratadoResponsavel.Text = dt.Rows(0).Item([Ô]Responsavel[Ô]) & [Ô][Ô]
Me.cboRegiaoEstuda.Text = dt.Rows(0).Item([Ô]Regiao_Estuda[Ô]) & [Ô][Ô]
Me.cboEscolaEstuda.Text = dt.Rows(0).Item([Ô]Escola_estuda[Ô]) & [Ô][Ô]
Me.cboRegiaoTrabalha.Text = dt.Rows(0).Item([Ô]Regiao_Trabalha[Ô]) & [Ô][Ô]
Me.cboEscolaTrabalha.Text = dt.Rows(0).Item([Ô]Escola_Trabalha[Ô]) & [Ô][Ô]
Me.cboContratadoTurno.Text = dt.Rows(0).Item([Ô]Turnos_estagio[Ô]) & [Ô][Ô]
Me.cmdContratadoLimpar.Enabled = False
Else
MsgBox([Ô]Registro não localizado[Ô])
End If
cn.Close()
CarregaDados()
End Sub
Private Sub cmdPesquisar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPesquisar.Click
If txtContratadoCpf.Text = String.Empty Then
MsgBox([Ô]Informe o CPF do aluno[Ô])
Else
Procurar(Me.txtContratadoCpf.Text)
End If
CarregaDados()
End Sub
Sou iniciante na linguagem me ajudem!!!!
Private Sub Procurar(ByVal Id As Integer)
Dim cn As New OleDb.OleDbConnection
cn.ConnectionString = [Ô]Provider=Microsoft.Jet.OleDb.4.0; Data Source=c:\dados\Estagiarios_contratados.mdb[Ô]
cn.Open()
Dim da As New OleDb.OleDbDataAdapter([Ô]SELECT * FROM TabEstagiarioContratado [Ô] & _
[Ô] WHERE Cpf=[Ô] & Id, cn)
Dim dt As New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
Me.txtContratadoNome.Text = dt.Rows(0).Item([Ô]Nome[Ô])
Me.txtContratadoCpf.Text = dt.Rows(0).Item([Ô]Cpf[Ô]) & [Ô][Ô]
Me.txtContratadoRg.Text = dt.Rows(0).Item([Ô]Rg[Ô]) & [Ô][Ô]
Me.txtContratadoEmail.Text = dt.Rows(0).Item([Ô]Email[Ô]) & [Ô][Ô]
Me.txtContratadoEmailReferencial.Text = dt.Rows(0).Item([Ô]Email_Referencial[Ô]) & [Ô][Ô]
Me.txtContratadoTelefone.Text = dt.Rows(0).Item([Ô]Telefone[Ô]) & [Ô][Ô]
Me.txtContratadoTelefoneReferencial.Text = dt.Rows(0).Item([Ô]Telefone_Referencial[Ô]) & [Ô][Ô]
Me.txtContratadoResponsavel.Text = dt.Rows(0).Item([Ô]Responsavel[Ô]) & [Ô][Ô]
Me.cboRegiaoEstuda.Text = dt.Rows(0).Item([Ô]Regiao_Estuda[Ô]) & [Ô][Ô]
Me.cboEscolaEstuda.Text = dt.Rows(0).Item([Ô]Escola_estuda[Ô]) & [Ô][Ô]
Me.cboRegiaoTrabalha.Text = dt.Rows(0).Item([Ô]Regiao_Trabalha[Ô]) & [Ô][Ô]
Me.cboEscolaTrabalha.Text = dt.Rows(0).Item([Ô]Escola_Trabalha[Ô]) & [Ô][Ô]
Me.cboContratadoTurno.Text = dt.Rows(0).Item([Ô]Turnos_estagio[Ô]) & [Ô][Ô]
Me.cmdContratadoLimpar.Enabled = False
Else
MsgBox([Ô]Registro não localizado[Ô])
End If
cn.Close()
CarregaDados()
End Sub
Private Sub cmdPesquisar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPesquisar.Click
If txtContratadoCpf.Text = String.Empty Then
MsgBox([Ô]Informe o CPF do aluno[Ô])
Else
Procurar(Me.txtContratadoCpf.Text)
End If
CarregaDados()
End Sub
Sou iniciante na linguagem me ajudem!!!!
Amigo vc postou muito código junto sem dizer exactamente onde está o erro, mas notei alguns e pode ser que ajude nalguma coisa:
cláusula where cpf=[Ô]& id >>> O que é o id? uma variável declarada? Se id não for uma variável declarada, tipo uma string, ou um integer, não vai retornar nenhum dado.
Atente também as aspas ([Ô]& clausula &[Ô]) para números e ([ô] [Ô]& clausula &[Ô] [ô]) para string.
Boa sorte!
cláusula where cpf=[Ô]& id >>> O que é o id? uma variável declarada? Se id não for uma variável declarada, tipo uma string, ou um integer, não vai retornar nenhum dado.
Atente também as aspas ([Ô]& clausula &[Ô]) para números e ([ô] [Ô]& clausula &[Ô] [ô]) para string.
Boa sorte!
O Id é uma numeração automática que eu fiz pelo fato de que quando eu digito o cpf ele da um erro [Ô]Operação aritmética resultou em um estouro.[Ô],então a minha ideia foi incluir uma numeração automática no qual a consulta do cpf retornaria o Id!
A minha ideia era pesquisar diretamente pelo CPF do aluno porem o erro[Ô]Operação aritmética resultou em um estouro.[Ô] não me permitiu isso!
Me ajude por favor!!
Obrigado!
A minha ideia era pesquisar diretamente pelo CPF do aluno porem o erro[Ô]Operação aritmética resultou em um estouro.[Ô] não me permitiu isso!
Me ajude por favor!!
Obrigado!
Qual é o valor que voce está passando para o Me.txtContratadoCpf.Text como parametro do metodo Procurar(Me.txtContratadoCpf.Text) ?
Eu estava usandoo Byval Cpf as Char, porem eu ja tentei diversos parâmetros Double,Char,String,Integer,alguns apontam o erro [Ô]Operação aritmética resultou em um estouro[Ô],e outros apontam o erro [Ô]Tipo de dados incompatÃvel na expressão de critério.[Ô].é ai que eu tentei incrementar o ID que é um valor [Ô]pequeno[Ô] e daria pra usar integer,mas tbm não consegui!
Eu gostaria de saber um código no qual eu pesquisasse um cpf e ele puxasse todas as informações do cadastro!.Pois julgo que esse esta totalmente errado!
Você precisa saber qual o tipo de dados do campo do CPF. Geralmente esse campo é uma string. Neste caso a sua função não pode conter a variável ID como integer. Se for string, basta você mudar isso na função e mudar também a sql, colocando
haspas na variável que está na sql:
[Ô] WHERE Cpf=[ô][Ô] & Id &[Ô][ô], cn)
O resto vai depender de que a tabela realmente esteja com os campos da forma que vc está utilizando para preencher o formulário
haspas na variável que está na sql:
[Ô] WHERE Cpf=[ô][Ô] & Id &[Ô][ô], cn)
O resto vai depender de que a tabela realmente esteja com os campos da forma que vc está utilizando para preencher o formulário
veja exemplo abaixo tente adaptar
codigo da net http://www.geocities.ws/edsondavidp/vbnet_ctrEstoque_2008_p5.html
Dim cn As New OleDbConnection
cn.ConnectionString = [Ô]Provider=Microsoft.Jet.oleDB.4.0;Data Source=[Ô] & sCaminho & [Ô]\Estoque.mdb;[Ô]
cn.Open()
Dim sSQL As String = [Ô]Select * From Produto Where Descricao Like [ô][Ô] & txtPesquisa.Text & [Ô]%[ô][Ô]
dsProduto = New DataSet()
daProduto = New OleDbDataAdapter(sSQL, cn)
daProduto.Fill(dsProduto, [Ô]Produto[Ô])
dtProduto = dsProduto.Tables([Ô]Produto[Ô])
dgvProduto.DataSource = dtProduto
cn.Close()
veja mais exemplos no site do Macoratti www.macoratti.net
codigo da net http://www.geocities.ws/edsondavidp/vbnet_ctrEstoque_2008_p5.html
Dim cn As New OleDbConnection
cn.ConnectionString = [Ô]Provider=Microsoft.Jet.oleDB.4.0;Data Source=[Ô] & sCaminho & [Ô]\Estoque.mdb;[Ô]
cn.Open()
Dim sSQL As String = [Ô]Select * From Produto Where Descricao Like [ô][Ô] & txtPesquisa.Text & [Ô]%[ô][Ô]
dsProduto = New DataSet()
daProduto = New OleDbDataAdapter(sSQL, cn)
daProduto.Fill(dsProduto, [Ô]Produto[Ô])
dtProduto = dsProduto.Tables([Ô]Produto[Ô])
dgvProduto.DataSource = dtProduto
cn.Close()
veja mais exemplos no site do Macoratti www.macoratti.net
Pessoal o Código de consulta funcionou!!! vejam como ficou:
Dim cn As New OleDb.OleDbConnection
cn.ConnectionString = [Ô]Provider=Microsoft.Jet.OleDb.4.0; Data Source=c:\dados\Estagiarios_contratados.mdb[Ô]
cn.Open()
Dim sSQL As String = [Ô]Select * From TabEstagiarioContratado Where Cpf Like [ô][Ô] & txtContratadoCpf.Text & [Ô]%[ô][Ô]
Dim Da = New OleDbDataAdapter(sSQL, cn)
Dim dt As New DataTable
Da.Fill(dt)
If dt.Rows.Count > 0 Then
Me.txtContratadoNome.Text = dt.Rows(0).Item([Ô]Nome[Ô])
Me.txtContratadoCpf.Text = dt.Rows(0).Item([Ô]Cpf[Ô]) & [Ô][Ô]
Me.txtContratadoRg.Text = dt.Rows(0).Item([Ô]Rg[Ô]) & [Ô][Ô]
Me.txtContratadoEmail.Text = dt.Rows(0).Item([Ô]Email[Ô]) & [Ô][Ô]
Me.txtContratadoEmailReferencial.Text = dt.Rows(0).Item([Ô]Email_Referencial[Ô]) & [Ô][Ô]
Me.txtContratadoTelefone.Text = dt.Rows(0).Item([Ô]Telefone[Ô]) & [Ô][Ô]
Me.txtContratadoTelefoneReferencial.Text = dt.Rows(0).Item([Ô]Telefone_Referencial[Ô]) & [Ô][Ô]
Me.txtContratadoResponsavel.Text = dt.Rows(0).Item([Ô]Responsavel[Ô]) & [Ô][Ô]
Me.cboRegiaoEstuda.Text = dt.Rows(0).Item([Ô]Regiao_Estuda[Ô]) & [Ô][Ô]
Me.cboEscolaEstuda.Text = dt.Rows(0).Item([Ô]Escola_estuda[Ô]) & [Ô][Ô]
Me.cboRegiaoTrabalha.Text = dt.Rows(0).Item([Ô]Regiao_Trabalha[Ô]) & [Ô][Ô]
Me.cboEscolaTrabalha.Text = dt.Rows(0).Item([Ô]Escola_Trabalha[Ô]) & [Ô][Ô]
Me.cboContratadoTurno.Text = dt.Rows(0).Item([Ô]Turnos_estagio[Ô]) & [Ô][Ô]
Else
MsgBox([Ô]Registro não localizado[Ô])
End If
cn.Close()
CarregaDados()
Obrigado a todos!!!!
Dim cn As New OleDb.OleDbConnection
cn.ConnectionString = [Ô]Provider=Microsoft.Jet.OleDb.4.0; Data Source=c:\dados\Estagiarios_contratados.mdb[Ô]
cn.Open()
Dim sSQL As String = [Ô]Select * From TabEstagiarioContratado Where Cpf Like [ô][Ô] & txtContratadoCpf.Text & [Ô]%[ô][Ô]
Dim Da = New OleDbDataAdapter(sSQL, cn)
Dim dt As New DataTable
Da.Fill(dt)
If dt.Rows.Count > 0 Then
Me.txtContratadoNome.Text = dt.Rows(0).Item([Ô]Nome[Ô])
Me.txtContratadoCpf.Text = dt.Rows(0).Item([Ô]Cpf[Ô]) & [Ô][Ô]
Me.txtContratadoRg.Text = dt.Rows(0).Item([Ô]Rg[Ô]) & [Ô][Ô]
Me.txtContratadoEmail.Text = dt.Rows(0).Item([Ô]Email[Ô]) & [Ô][Ô]
Me.txtContratadoEmailReferencial.Text = dt.Rows(0).Item([Ô]Email_Referencial[Ô]) & [Ô][Ô]
Me.txtContratadoTelefone.Text = dt.Rows(0).Item([Ô]Telefone[Ô]) & [Ô][Ô]
Me.txtContratadoTelefoneReferencial.Text = dt.Rows(0).Item([Ô]Telefone_Referencial[Ô]) & [Ô][Ô]
Me.txtContratadoResponsavel.Text = dt.Rows(0).Item([Ô]Responsavel[Ô]) & [Ô][Ô]
Me.cboRegiaoEstuda.Text = dt.Rows(0).Item([Ô]Regiao_Estuda[Ô]) & [Ô][Ô]
Me.cboEscolaEstuda.Text = dt.Rows(0).Item([Ô]Escola_estuda[Ô]) & [Ô][Ô]
Me.cboRegiaoTrabalha.Text = dt.Rows(0).Item([Ô]Regiao_Trabalha[Ô]) & [Ô][Ô]
Me.cboEscolaTrabalha.Text = dt.Rows(0).Item([Ô]Escola_Trabalha[Ô]) & [Ô][Ô]
Me.cboContratadoTurno.Text = dt.Rows(0).Item([Ô]Turnos_estagio[Ô]) & [Ô][Ô]
Else
MsgBox([Ô]Registro não localizado[Ô])
End If
cn.Close()
CarregaDados()
Obrigado a todos!!!!
Tópico encerrado , respostas não são mais permitidas