Ir para conteúdo

POWERED BY:

Arquivado

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

Digon

[Resolvido] SQL erro - ao incluir um produto na administração

Recommended Posts

Boa Tarde a todos

 

Estou com um probleminha na hora de incluir o produto, a mando do cliente tive que retirar alguns itens da administração

Abaixo segue o código

 

'# Comando SQL que inclui na tabela clientes todos os dados do cliente
	SQL = "INSERT INTO Produtos (Codigo,Conteudo,Categoria,Subcategoria,Produto,Descricao) "
	SQL = SQL & " VALUES ( '" 
  
  '# Se o campo do código não estiver em branco
	If Request.Form("Codigo") <> "" Then

  '# Inclui i valor digitado
	  SQL = SQL & Codigo & "', '"
'# Se o campo do fax estiver em branco, pois este não é verificado no início do código
	Else
'# Inclui apenas um traço, para não retornar um erro por estar em branco	 SQL = SQL & "-', '"

	End If

	SQL = SQL &"'"& Conteudo & ",'"
	SQL = SQL & Categoria & ","
	SQL = SQL & Subcategoria & ","
	SQL = SQL &"'"& Produto & "',"
	SQL = SQL &"'"& Descricao & ");"
	
	'# abre a tabela Produtos e inclui o produto no banco de dados
	Set Produto = Conexao.Execute(SQL)

	Set Produto = Nothing

já tentei da seguinte forma e não deu certo

 

SQL = "INSERT INTO Produtos (Codigo,Conteudo,Categoria,Subcategoria,Produto,Descricao) "
	SQL = SQL & " VALUES ( '" 
						  If Request.Form("Codigo") <> "" Then
	  SQL = SQL & Codigo & "', '"
	
Else
			   End If

	  SQL = SQL & "-', '"

SQL = SQL & Conteudo & "',"
	SQL = SQL & Categoria & ","
	SQL = SQL & Subcategoria & ","
	SQL = SQL & Produto & ",'"
	SQL = SQL & Descricao & "')"

Ocorreu um erro na Syntax:

Syntax error in INSERT INTO

 

E Também tentei com REQUEST FORM

ComandoSQL = "INSERT INTO Produtos (Codigo, Conteudo, Categoria, Subcategoria, Produto, Descricao) "
	ComandoSQL = ComandoSQL & " VALUES ( '"
	  If Request.Form("Codigo") <> "" Then

	  ComandoSQL = ComandoSQL & Request.Form("Codigo") & "', '"

	Else

	  ComandoSQL = ComandoSQL & "-', '"

	End If

	ComandoSQL = ComandoSQL & Request.Form("Conteudo") & "', "
	ComandoSQL = ComandoSQL & Session("categoria") & ", "
	ComandoSQL = ComandoSQL & Session("subcategoria") & ", '"
	ComandoSQL = ComandoSQL & Request.Form("Produto") & "', '"
	ComandoSQL = ComandoSQL & Request.Form("Descricao") & "' )"

Também deu erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera essa linha Set Produto = Conexao.Execute(SQL), para

 

Response.Write SQL : Response.End

 

Poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acontece isso

 

INSERT INTO Produtos (Codigo,Conteudo,Categoria,Subcategoria,Produto,Descricao) VALUES ( '', '',',,'',');

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL = SQL &"'"& Descricao & ");"

 

Nessa última linha você abre aspas simples mas não fecha.

 

Outro detalhe é que as variaveis estão vazias.

 

Verifique isso e posta o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

INSERT INTO Produtos (Codigo,Conteudo,Categoria,Subcategoria,Produto,Descricao) VALUES ( ''1tes', '1, '14,15, 'teste3', 'teste3')

 

eu dei uma modificada :

 

SQL = "INSERT INTO Produtos (Codigo,Conteudo,Categoria,Subcategoria,Produto,Descricao) "
	SQL = SQL & " VALUES ( '" 
  

	If Request.Form("Codigo") <> "" Then


	  SQL = SQL &"'"&  Request.Form("Codigo") & "', "

   SQL = SQL & "-', '"

	End If

	SQL = SQL &" '"& Request.Form("Conteudo") & ", '"
	SQL = SQL & Session("categoria") & ","
	SQL = SQL & Session("subcategoria") & ","
	SQL = SQL &" '"& Request.Form("Produto") & "', "
	SQL = SQL &" '"& Request.Form("Descricao") & "')"
	
	Response.Write SQL : Response.End

	Set Produto = Nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

Remove a linha

Response.Write SQL : Response.End

 

E acrescenta a do EXECUTE.

 

Veja se está funcionando corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Syntax error (missing operator) in query expression '''22tes'.

Esse erro está na parte do codigo, vou ver se mudo alguma coisa nessa parte.

 

SQL = SQL &"'"&  Request.Form("Codigo") & ", '"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara no caso a virgula tem que estar depois das aspas simples, nesse seu caso esta antes

 

Coloque assim

 

SQL = SQL &"'"&  Request.Form("Codigo") & "', "

Compartilhar este post


Link para o post
Compartilhar em outros sites

Syntax error (missing operator) in query expression '''re2', '1'

erro no Codigo e no Conteudo

 



SQL = SQL &"'"&  Request.Form("Codigo") & "', "
	Else
  SQL = SQL & "-', '"

	End If


	SQL = SQL &" '"& Request.Form("Conteudo") & ",'"
	SQL = SQL & Session("categoria") & ","
	SQL = SQL & Session("subcategoria") & ","
	SQL = SQL &" '"& Request.Form("Produto") & "', "
	SQL = SQL &" '"& Request.Form("Descricao") & "')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá o mesmo erro:

 

Microsoft JET Database Engine error '80040e14' 

Syntax error (missing operator) in query expression '''te34', '1',14,15, 'teste3', 'teste3')'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

substitua esta linha

 

SQL = SQL &" '"& Request.Form("Conteudo") & ",'"

por esta

 

SQL = SQL &""& Request.Form("Conteudo") & ",'"

o erro esta nesta montagem ae, tem aspas sobrando... não verifiquei todo, mais da uma ohada nisso ae, se for possivel faça esta parte novamente e com calma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu consegui arrumar da seguinte forma:

 

SQL = "INSERT INTO Produtos (Categoria, Subcategoria, Produto, Descricao ) "
	SQL = SQL & "VALUES ("
	SQL = SQL & Session("categoria") & ","
	SQL = SQL & Session("subcategoria") & ","
	SQL = SQL &" '"& Request.Form("Produto") &"',"
	SQL = SQL &" '"& Request.Form("Descricao") &"');"


 '# abre a tabela Produtos e inclui o produto no banco de dados
	
	Set Produto = Conexao.Execute(SQL)
	Set Produto = Nothing
	
   '# Comando SQL que inclui na tabela clientes todos os dados do cliente
	SQL = "SELECT Top 1 * FROM Produtos ORDER BY ID_Produto DESC "
	'# abre a tabela Produtos e recupera o id do produto no banco de dados

	Set bd = Server.CreateObject("ADODB.Recordset")
	bd.CursorLocation = 2
	bd.CursorType = 0
	bd.LockType = 3
	bd.Open SQL, Conexao,,, &H0001
	bd("Detalhes") = Request.Form("Detalhes")
	bd("Peso") = Request.Form("Peso")
	bd("Valor") = Request.Form("Valor")
	bd("Codigo") = Request.Form("Codigo")
	bd("Conteudo") = Request.Form("Conteudo")
	bd.UpdateBatch
	bd.Requery

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.