Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jp_Masiero

SQL Server Instruções

Recommended Posts

Bom dia pessoal, costumava trabalhar com access e agora mudei para SQL. Porem estou tendo algumas dificuldades com as instruções:

Olha so preciso fazer inserts em varias tabelas estou utilizando o codigo abaixo:

<!--#include file="conecta.asp"-->
<%
codigo = request.Form("cod")
nome = request.Form("nome")
valor62 = request.Form("62")
valor64 = request.Form("64")
valor67 = request.Form("67")
valor71 = request.Form("71")

set rs = conexao.execute("INSERT INTO produtos1 (cod_loja,nome,valor,img) VALUES ("&codigo&","&nome&","&valor62&",'img/'"&codigo&"'.jpg'")
set rs = nothing
set ri = conexao.execute("INSET INTO preco62 (cod_loja,valor) VALUES ("&codigo&","&valor62&")")
set ri = nothing
set rw = conexao.execute("INSET INTO preco64 (cod_loja,valor) VALUES ("&codigo&"',"&valor64&")")
set rw = nothing
set rc = conexao.execute("INSET INTO preco67 (cod_loja,valor) VALUES ("&codigo&","&valor67&")")
set rc = nothing
set rf = conexao.execute("INSET INTO preco71 (cod_loja,valor) VALUES ("&codigo&","&valor71&")")
set rf = nothing
response.Redirect("index.asp?msg='Produto Adicionado Com Sucesso'")
%>

Mas está dando erro olha so:

Tipo de erro:

Microsoft OLE DB Provider for SQL Server (0x80040E14)

Sintaxe incorreta próxima a 'Plast'.

/testes/sistema/cod_add_prod.asp, line 10

 

a os valores das variaveis são:

codigo = 5668

nome = Garrafa Plástica

valor62 = 6,21

valor64 = 2,54

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq palavras são Strings, portanto você que por aspas simples no nome e no valor, visto que tem letras e virgulas

Assim:

 

set rs = conexao.execute("INSERT INTO produtos1 (cod_loja,nome,valor,img) VALUES ("&codigo&",'"&nome&"','"&valor62&"','img/"&codigo&".jpg"')

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha so do jeito que você me falou deu certo

porem tem um negocio que eu num entendi:

fiz dessa forma e deu certinho inseriu e tudo

<!--#include file="conecta.asp"-->
<%
codigo = request.Form("cod")
nome = request.Form("nome")
valor62 = request.Form("62")
valor64 = request.Form("64")
valor67 = request.Form("67")
valor71 = request.Form("71")

set rs = conexao.execute("INSERT INTO produtos(cod_loja,nome,valor,img) VALUES("&codigo&",'"&nome&"','"&valor62&"', 'img/''"&codigo&"''.jpg')")
set rs = nothing
set ri = conexao.execute("INSERT INTO preco62(cod_loja,valor) VALUES('"&codigo&"','"&valor62&"')")
set ri = nothing
set rw = conexao.execute("INSERT INTO preco64 (cod_loja,valor) VALUES ('"&codigo&"','"&valor64&"')")
set rw = nothing
set rc = conexao.execute("INSERT INTO preco67 (cod_loja,valor) VALUES ('"&codigo&"','"&valor67&"')")
set rc = nothing
set rf = conexao.execute("INSERT INTO preco71 (cod_loja,valor) VALUES ('"&codigo&"','"&valor71&"')")
set rf = nothing
conexao.close
set conexao = nothing
response.Redirect("index.asp?msg=OK: Produto Adicionado Com Sucesso")
%>
Olha so no primeiro INSERT tive que colocar o "&codigo&" nos outros tive que por '"&codigo&"', não entendi isso, outra coisa ali no 'img/''"&codigo&"''.jpg' se eu tirar as aspas simples co codigo (esta assim: '"&codigo&"' e colocar "&codigo&") da erro:

 

Microsoft OLE DB Provider for SQL Server (0x80040E14)

Sintaxe incorreta próxima a '3658'.

/testes/sistema/cod_add_prod.asp, line 10

 

mas com as aspas simples dai ele grava as aspas simples no bd

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a ortografia. pode ser um nome de coluna Invalido 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo que tiver letra é STRING, portanto você DEVE por ASPAS SIMPLES.

Se a palavra tiver LETRAS e NUMEROS tbm DEVE por ASPAS SIMPLES. Em caso de numero nao precisa!

 

Código é numero, nao precisa de aspas simples.

O endereço da imagem em texto, portanto precisa das aspas simples, senao ele entende isso como nome de campo, sendo que nao eh.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na string SQL, para ver o k esta sendo passado

response.write(SQL)

response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.