none
salvando em access RRS feed

  • Pergunta

  •  

    Pessoal não estou conseguindo salvar meu formulario no access

     

    Os Texts tem o ID: frmnome, frmcep, frmemail, frmendereco

     

    Dim MySql As String = " insert into tabel (nome, endereco, cep, email) values (frmnome, frmendereco, frmemail, frmcep)"

    Dim Myconn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=c:\cad.mdb;")

    Dim cmd As New OleDbCommand(MySql, Myconn)

    cmd.Parameters.Add(New OleDbParameter("@nome", frmnome.Text))

    cmd.Parameters.Add(New OleDbParameter("@cep", frmcep.Text))

    cmd.Parameters.Add(New OleDbParameter("@endereco", frmendereco.Text))

    cmd.Parameters.Add(New OleDbParameter("@email", frmemail.Text))

    Myconn.Open()

    cmd.ExecuteNonQuery()

    Myconn.Close()

    result.Text = "Dados ensirido com sucesso"

     

    Esta dando esse erro:

     

    A instrução INSERT INTO contém o seguinte nome de campo desconhecido: 'nome' Certifique-se de que você digitou o nome corretamente e tente a operação novamente.

     

    segunda-feira, 21 de janeiro de 2008 15:45

Respostas

  • Junior, boa Tarde!!!

    Ja que vc criou no Access 2007, certifique-se que a extensao do Banco seja ".mdb" e as os campos(parametros) estejam em ordem, pq no Access, o nome do Parametro e Indiferente, oq vale e a Ordem dos campos. e outra coisa, esta dando erro so pra inserir, e pra fazer leitura, esta normal.


    espero ter ajudado.

    Grato.

    Abcs
    segunda-feira, 21 de janeiro de 2008 17:07

Todas as Respostas

  • certifique - se a tupla nome esta inserida no banco

     

    eu nao insiro desta forma se quiser posso te mandar minha classe

    e so deichar seu email

    segunda-feira, 21 de janeiro de 2008 16:14
  • Se você puder  me explicar eu agradeço, já estou a duas semanas tentando salvar isso em access e não consigo.

     

     

    juniorcursos_@hotmail.com

     

    Fico agradecido desde já !

    segunda-feira, 21 de janeiro de 2008 16:25
  •  boa tarde , tente assim!

     

    Dim MySql As String = " insert into tabel (nome, endereco, cep, email) values (@nome, @endereco,@cep@email)"

    Dim Myconn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=c:\cad.mdb;")

    Dim cmd As New OleDbCommand(MySql, Myconn)

    cmd.Parameters.Add(New OleDbParameter("@nome", frmnome.Text))

    cmd.Parameters.Add(New OleDbParameter("@cep", frmcep.Text))

    cmd.Parameters.Add(New OleDbParameter("@endereco", frmendereco.Text))

    cmd.Parameters.Add(New OleDbParameter("@email", frmemail.Text))

    Myconn.Open()

    cmd.ExecuteNonQuery()

    Myconn.Close()

     

     

    Atente-se para q a ordem dos campos deve ser a mesma dos valores e vice-versa

    erro email no lugar do cep : (nome, endereco, cep, email) values (frmnome, frmendereco, frmemail, frmcep)

    Certifique-se q o nome dos campos da tabela são esses mesmos.

    segunda-feira, 21 de janeiro de 2008 16:28
  • Continua dando o mesmo erro...

     

    Eu fiz o banco no Access 2007 e exportei para 2003, será que tem algo haver ?

     

    obs: no banco, os campos tem a mesma sequencia.

    segunda-feira, 21 de janeiro de 2008 16:48
  • Vc tentou exatamente desta forma e mesmo assim deu erro, o mesmo erro do seu primerio post?

     

    Dim MySql As String = " insert into tabel (nome, endereco, cep, email) values (@nome, @endereco,@cep@email)"

    Dim Myconn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=c:\cad.mdb;")

    Dim cmd As New OleDbCommand(MySql, Myconn)

    cmd.Parameters.Add(New OleDbParameter("@nome", frmnome.Text))

    cmd.Parameters.Add(New OleDbParameter("@cep", frmcep.Text))

    cmd.Parameters.Add(New OleDbParameter("@endereco", frmendereco.Text))

    cmd.Parameters.Add(New OleDbParameter("@email", frmemail.Text))

    Myconn.Open()

    cmd.ExecuteNonQuery()

    Myconn.Close()

     

    qdo disse sequência era sobre esta!

        1          2          3      4                   1                   2         3            4

    (nome, endereco, cep, email) values (@nome, @endereco,@cep@email)

     

    os campos devem coincidir com os valores.

    segunda-feira, 21 de janeiro de 2008 17:01
  • Sim nessa mesma sequencia, e também na mesma sequencia do banco.

    E o erro é o mesmo do primeiro post.

     

    obs. estou usando o Visual Studio 2007.

    segunda-feira, 21 de janeiro de 2008 17:05
  • Junior, boa Tarde!!!

    Ja que vc criou no Access 2007, certifique-se que a extensao do Banco seja ".mdb" e as os campos(parametros) estejam em ordem, pq no Access, o nome do Parametro e Indiferente, oq vale e a Ordem dos campos. e outra coisa, esta dando erro so pra inserir, e pra fazer leitura, esta normal.


    espero ter ajudado.

    Grato.

    Abcs
    segunda-feira, 21 de janeiro de 2008 17:07
  • Verifiquei está assim: ( Microsoft Office DataBase ).

    Para fazer a leitura está normal, traz todos os dados no GRID.

    segunda-feira, 21 de janeiro de 2008 17:12
  • Cara mais uma coisa!

    Na estrutura da sua tabela os nomes dos campos estão exatamente iguais a estes: nome , endereco, cep, email?

    segunda-feira, 21 de janeiro de 2008 17:18
  • Em mdb estava sim, mas alguma coisa do Access 2007 não funciona direito, mesmo exportando para Access 2003 DataBase não estava funcionando.

     

    Para dar certo criei um Banco direto no Access 2003 e deu certo usando esse mesmo código

     

    Obrigado a todos !!!

     

    ...melhor ficar usando o 2003 mesmo.

    segunda-feira, 21 de janeiro de 2008 17:27