Ir para conteúdo

POWERED BY:

Arquivado

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

Digon

Recuperar session e gravar o valor em um banco access

Recommended Posts

Preciso fazer a inclusão de produtos via formulário. Atualmente o usuário seleciona a categoria e uma subcategoria através de um select option em que os valores podem ser escolhidos são extraídos da tabela categorias (campos abaixo):

 

 

id = automatico

categoria = texto

subcategoria = texto

id_categoria = numero

 

 

Assim que a opção é escolhida o valor é passado como parâmetro através de url:

 

'Categoria
<select name="categoria" onchange="java script: window.open( 'definir_categoria.asp?categoria=' + categoria.value ,'_self',null)"></P> <P>
'subcategoria
<select name="subcategoria"<%if Session("categoria") = "" then%>disabled<%end if%> onchange="java script: window.open( 'definir_categoria.asp?categoria=<%=Session("categoria")%>&subcategoria=' + subcategoria.value ,'_self',null)">

 

Porém o usuário quer cadastrar um produto em duas categorias diferentes ao mesmo tempo, então adicionei os campos categoria2 e subcategoria2 na tabela produtos:

 

 

 

'Categoria
<select name="categoria" onchange="java script: window.open( 'definir_categoria.asp?categoria=' + categoria.value ,'_self',null)"></P> <P>
'subcategoria
<select name="subcategoria"<%if Session("categoria") = "" then%>disabled<%end if%> onchange="java script: window.open( 'definir_categoria.asp?categoria=<%=Session("categoria")%>&subcategoria=' + subcategoria.value ,'_self',null)">

 

 

 

Porém o usuário quer cadastrar um produto em duas categorias diferentes ao mesmo tempo, então adicionei os campos categoria2 e subcategoria2 na tabela produtos:

 

 

ID_Produto = automatico

Codigo = texto

Conteudo = texto

Categoria = numero

Subcategoria = numero

Categoria2 = numero

Subcategoria2 = numero

Produto = texto

Descricao = texto

Estoque = numero

Contestoque = numero

Detalhes = memorando

Peso = texto

Parcelas = texto

preco antigo = texto

destaque = texto

vitrine = texto

vitrine_destaque = texto

frete = texto

valor = unidade monetaria

 

 

Acrescentei as sessions categoria2 e subcategoria2 com base nas sessions categoria e subcategoria (que funcionam):

 

 

 

<%
If Request.QueryString("categoria") <> "" Then
  Session("categoria") = Request.QueryString("categoria")
  Session("subcategoria") = ""
End If</P> <P>If Request.QueryString("subcategoria") <> "" Then
  Session("subcategoria") = Request.QueryString("subcategoria")
End If</P> <P> </P> <P>If Request.QueryString("categoria2") <> "" Then
  Session("categoria2") = Request.QueryString("categoria2")
  Session("subcategoria2") = ""
End If</P> <P>
If Request.QueryString("subcategoria2") <> "" Then
  Session("subcategoria2") = Request.QueryString("subcategoria2")</P> <P>End If
%>

 

 

e acrescentei os selections options categoria2 e subcategorias 2 com base nos selects categoria e subcategoria (que funcionam):

 

 

 

 

'Categoria2
<select name="categoria2" onchange="java script: window.open( 'definir_categoria.asp?categoria2=' + categoria2.value ,'_self',null)"></P> <P>
'subcategoria2
<select name="subcategoria2"<%if Session("categoria") = "" then%>disabled<%end if%> onchange="java script: window.open( 'definir_categoria.asp?categoria2=<%=Session("categoria")%>&subcategoria2=' + subcategoria2.value ,'_self',null)">

 

Os dados eram inseridos no banco através do comando abaixo(que funcionava perfeitamente):

 

ComandoSQL = "INSERT INTO Produtos(Codigo,Conteudo,Categoria,Subcategoria,Produto,Descricao,Estoque,Contestoque)VALUES('"&_ Request.Form("Codigo")&"','"&Request.Form("Conteudo")&"',"&Session("Categoria")&","&_
Session("Subcategoria")&",'"&Request.Form("Produto")&"','"&Request.Form("Descricao")&"',"&Request.Form("Estoque")&","&Request.Form("Contestoque")&")"

 

 

Então acrescentei os novos campos e as novas sessions:

 

 

 

ComandoSQL = "INSERT INTO Produtos(Codigo,Conteudo,Categoria,Subcategoria,Categoria2,Subcategoria2,Produto,Desc
ricao,Estoque,Contestoque)VALUES('"&Request.Form("Codigo")&"','"&Request.Form("Conteudo")&"',"&Session("Categoria")&","&_ Session("Subcategoria")&","&Session("Categoria2")&","&Session("Subcategoria2")&",'"&Request.Form("Produto")&"','"&Request.Form("Descricao")&"',"&_ Request.Form("Estoque")&","&Request.Form("Contestoque")&")"

 

 

Mas não funciona, dá o seguinte erro:

 

Microsoft JET Database Engine error '80040e14'

Syntax error in INSERT INTO statement.

/suprioeste/admin/incluir_produto.asp, line 22

 

 

O comando SQL está correto, fiz um teste passando os valores das sessions categoria e subcategoria para os campos categoria2 e subcategoria2 e funcionou...

só que desta forma o produto vai ser cadastrado duas vezes na mesma categoria (porque ela vai receber a mesma session nos campos categoria e categoria2,

assim como subcategoria e subcategoria2

 

 

ComandoSQL = "INSERT INTO Produtos(Codigo,Conteudo,Categoria,Subcategoria,Categoria2,Subcategoria2,Produto,Desc
ricao,Estoque,Contestoque)VALUES('"&Request.Form("Codigo")&"','"&Request.Form("Conteudo")&"',"&_ Session("Categoria")&","&Session("Subcategoria")&","&Session("Categoria")&","&Session("Subcategoria")&",'"&Request.Form("Produto")&"','"&_ Request.Form("Descricao")&"',"&Request.Form("Estoque")&","&Request.Form("Contestoque")&")"

 

 

 

Não sei o que está acontecendo, aparentemente o parâmetro das sessions categoria2 e subcategoria2 não são capturados....Agradeço qq ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente é problema com ASPAS.

 

Armazene os campos em variaveis ao invés de coloca o REQUEST.FORM direto na instrução SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

este erro pode ser de nome do campo errado,erro de ortografia ou na instrução SQL,verifique-a , você pode ver se ela esta certa colocando-a no SQL Query Analizer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então

quando eu uso as sessions da primeira e segunda ele efetua com sucesso,

copiei as sessions da primeira e segunda para tentar faze-la funcionar, mas ele anula ou dá erro no Syntax.

O problema não é no SQL, pois a primeira session funciona normalmente.

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Após a linha do INSERT que está dando erro, coloque:

Response.Write ComandoSQL 
Response.End

E poste aqui o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a melhor forma de visualizar o erro é da fprma passada pelo hargon

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.