INSERT ACCESS

PEDROALSOI 06/05/2014 20:19:10
#437919
Estou com um código, para adicionar na tabela do access, cujo da problema na linha com o objCmd.ExecuteNonQuery(), e a descrição do erro: Nenhum valor foi fornecido para um ou mais parâmetros necessários. Mas quanto tento colocar mais parâmetros, mostra que ele não permite parâmetros.

Aqui o código:

Dim Cmd As OleDbCommand
Dim SQL As String
Dim objCmd As New OleDbCommand

Dim Con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\user\Documents\Visual Studio 2010\Projects\Projeto\Projeto\bin\Debug\db.accdb;persist security info = false[Ô])

SQL = [Ô]INSERT INTO tabela VALUES (NULL, TextBox1.Text, [ô]Teste[ô])[Ô]
Cmd = New OleDbCommand(SQL, Con)

Con.Open()
objCmd = New OleDbCommand(SQL, Con)
objCmd.ExecuteNonQuery()
Con.Close()


Obrigado desde já
OMAR2011 06/05/2014 22:14:08
#437928
SQL = [Ô]INSERT INTO tabela VALUES (NULL,[txt-color=#e80000] TextBox1.Text[/txt-color], [ô]Teste[ô])[Ô] [ô] isto gera erro. Esqueceu de um detalhe, [txt-color=#007100][ô][Ô] &.
[/txt-color] Cmd = New OleDbCommand(SQL, Con) [ô]Para que serve isto. Verifiquei e não tem sentido
Con.Open()
objCmd = New OleDbCommand(SQL, Con)
KILLERBEST 07/05/2014 05:42:43
#437935
[Ô]INSERT INTO tabela VALUES (NULL, [Ô] + TextBox1.Text + [Ô], [ô]Teste[ô])[Ô]
MITSUEDA 07/05/2014 07:55:45
#437937
Resposta escolhida
SQL = [Ô]INSERT INTO tabela VALUES (NULL, [Ô] & TextBox1.Text & [Ô], Teste)[Ô]

Não coloque o apostrofo no teste

Abraço
CHDSSANTOS 07/05/2014 08:43:25
#437940
Amigo,

Você precisa declarar os campos que receberão os valores no seu Insert

Ex:

INSERT INTO Sua_Tabela (Coluna_na_Tabela_para_Null, Coluna_na_Tabela_para_TextBox1, Coluna_na_Tabela_para_Teste) VALUES (NULL, [Ô] & TextBox1.Text & [Ô], Teste)
OMAR2011 07/05/2014 09:06:36
#437941
Meu Caro Mitsueda.
Cabra gostaria de entender como se faz um insert no Vb2010 onde não acontece erro na sua instrução sql.
[txt-color=#e80000]SQL = [Ô]INSERT INTO tabela VALUES (NULL, [Ô] & TextBox1.Text & [Ô], Teste)[Ô]
Não coloque o apostrofo no teste
[/txt-color]Coloque um pequeno projeto usando Access 2007 ou superior para ver como se faça.
O meu sempre deu erro, porque o de vocês não acontece erro.


PEDROALSOI 07/05/2014 10:32:31
#437949
Obrigado, fiz o que falaram e o código ficou

  
Dim SQL As String
Dim objCmd As New OleDbCommand
Dim Con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\user\Documents\Visual Studio 2010\Projects\Projeto\Projeto\bin\Debug\db.accdb;persist security info = false[Ô])
SQL = [Ô]INSERT INTO tabela (id, tipo, local) VALUES (NULL, [Ô] & TextBox1.Text & [Ô], Teste)[Ô]
Con.Open()
objCmd = New OleDbCommand(SQL, Con)
objCmd.ExecuteNonQuery()
Con.Close()


E ocorre o erro na linha com o objCmd.ExecuteNonQuery(): Erro de sintaxe na instrução INSERT INTO.
OMAR2011 07/05/2014 11:05:41
#437952
O insert está escrito de forma errada,pois o access não aceita.
Veja.
SQL = [Ô]INSERT INTO tabela (id, tipo,local) VALUES (NULL, [Ô] & TextBox1.Text & [Ô], Teste)[Ô]
[txt-color=#e80000]id[/txt-color] == Na sua tabela id deve ser o índice, chave primaria. Não aceita valor nulo sendo = Null
[txt-color=#e80000]Tipo[/txt-color]== Se o campo for texto não aceita e sim se o campo for número.
Para campo texto tem que ser [ô][Ô] & TextBox1.Text & [Ô][ô] ou [ô][Ô] + TextBox1.Text + [Ô][ô]
[txt-color=#e80000]local[/txt-color]== Pela escrita o campo é texto. Então [txt-color=#e80000]Teste[/txt-color] sem apostrofo o vb2010 não aceita. Tem que ser [ô]Teste[ô].

CHDSSANTOS 07/05/2014 11:07:40
#437953
Os campos estão configurados como no banco de dados?
Ex: Id = Numero
Tipo = Texto
Local = Texto

Se assim for sua string deve ficar mais ou menos assim:
[Ô]INSERT INTO tabela (id, tipo, local) VALUES (NULL, [ô][Ô] & TextBox1.Text & [Ô][ô], [ô]Teste[ô])[Ô]
PEDROALSOI 07/05/2014 11:58:56
#437954
Eu consegui , quem quiser aqui o código:

  Dim ds As New DataSet
Dim da As OleDbDataAdapter
con = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\user\Documents\Visual Studio 2010\Projects\Projeto\Projeto\bin\Debug\db.accdb[Ô])
con.Open()
Dim Str As String = [Ô]INSERT INTO tabela VALUES (id, [ô][Ô] And [Ô]Tipo[Ô] And [Ô][ô], [ô][Ô] And Dir And [Ô][ô])[Ô]
da = New OleDbDataAdapter(Str, con)
da.Fill(ds, [Ô]tabela[Ô])
con.Close()
datagridReload()


Mas o que coloco no id? Eu coloque Null porque o db tem Numeração Automática e é uma chave primária, porém ocorre um erro.
OMAR2011 07/05/2014 12:22:05
#437957
Onde tu arranjou isto.
Nunca vi este tipo de Insert.
Não funciona.
Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas