Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

fed07

[RESOLVIDO] SQL INSERT INTO

Mensagens Recomendadas

fed07

Boas, é assim eu estou a tentar inserir dados numa tabela e o código que estou a utilizar é o seguinte:

Imports System.Data.OleDb
Public Class registo
    Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "_
& System.AppDomain.CurrentDomain.BaseDirectory & "bd2.mdb;")
    Dim strSQL As String = "INSERT INTO Utilizadores (Nome_conta, Password, Email) VALUES (@Nome, @Pass, @Mail)"
    Dim cmd As New OleDbCommand(strSQL, conn)

    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
            conn.Close()
            cmd.Parameters.Add("@Nome", OleDbType.LongVarWChar).Value = txtuser.Text
            cmd.Parameters.Add("@Pass", OleDbType.LongVarWChar).Value = txtpass.Text
            cmd.Parameters.Add("@Mail", OleDbType.LongVarWChar).Value = txtmail.Text
            conn.Open()
            cmd.ExecuteNonQuery()
            conn.Close()
            cmd.Parameters.Clear()

O problema é que ele ao chegar ao ExecuteNonQuery dá erro e diz que é erro de syntax na instrução insert into

Eu já verifiquei os nomes dos campos, das tabelas já verifiquei tudo e tá tudo bem.

Se poderem ajudar, agradeço

Cumps,

FeD07

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fed07

Dá o mesmo erro, já tentei muita coisa, até trocar os txt.text por "texto" e mesmo assim dá o mesmo erro, ele para sempre no executenonquery :S

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

O problema está mesmo na syntax como te diz.

Experimenta antes:

"INSERT INTO Utilizadores ([Nome_Conta], [Password], [Email]) VALUES (@Nome, @Pass, @Mail);"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Password é uma palavra reservada.

Ao envolveres uma palavra entre [ ] estás a indicar ao parser para ignorar o significado reservado.

Nesse caso faz com que ignore o significado reservado de Password e que a trate como o nome de um objecto no alvo da query.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.