Ir para conteúdo

POWERED BY:

Arquivado

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

lezão

[Resolvido] caraca véio Problema update

Recommended Posts

este codigo naun da erros

 

o erro dele é q ele naun esta fazendo o update correto ...

 

altara_dados.asp

<%
'Força o programador a declarar todas as variáveis, evitando erro de digitação no uso das variéveis
Option Explicit

'Não deixa informações no Cache
Response.Expires = 0

'Declaração das variáveis
Dim objConn, strQuery, sql_query, RsQuery, campo, sql, id
Dim nome, vendido, cod, vencto, ObjRs

'Atrubuição dos valores as respectivas variáveis
nome = Request.Form("nome")
vendido = Request.Form("vendido")
cod = Request.Form("cod")
vencto = Request.Form("vencto")

if nome = "" then
	vendido = " "
end if
id = Request.Form("id")

'Cria o objeto RecordSet e atribui a variável 
Set objConn =  Server.CreateObject("ADODB.Connection")
'Abre a conexão com o banco de dados utilizando o Drive {Microsoft Access...
'(para utilizar outro, ex: Paradox é só substituir o Drive pelo do Paradox)
'(*.mdb) indica que o arquivo utiliza extensão mdb
objConn.Open "DBQ=" & Server.MapPath("../../dados/dados.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

SQL = "UPDATE home SET nome ='"&nome&"', vendido='"&vendido&"', cod='"&cod&"', vencto='"&vencto&"' WHERE id="&id

'Caso ocorra um erro esta função de erro será chamada
On error Resume Next
'Executa inserção no Banco de Dados 
Conexao.Execute(sql)
'Fecha o Objeto de Conexão
objConn.close

'"Zera" qualquer instancia que possa ter no objeto objRs e objConn
Set objRs = Nothing
Set objConn = Nothing 
if err = 0 Then
end if
%>	

<head>
<meta http-equiv="refresh" content="3;url=alterar.asp">
</head>
<p align="center">
<img src="../../imagens/mini_banner1.gif">
<p align="center"><img border="0" src="../../imagens/carregando.gif"></p>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retire o On Error Resume Next e veja se exibe algum erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

retirando deve informar o problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta dando este erro

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e0c' 

Command text was not set for the command object. 

/shop/admin/home/altera_dados.asp, line 34

postei novamente pq no codigo de cima naun havia isso, e após colocar este detalhe no codigo deu o mesmo erro acima....'80040e0c'

 

Set ObjRs = objConn.Execute(strQuery)

 

altera_dados.asp

<%
'Força o programador a declarar todas as variáveis, evitando erro de digitação no uso das variéveis
Option Explicit

'Não deixa informações no Cache
Response.Expires = 0

'Declaração das variáveis
Dim objConn, strQuery, sql_query, RsQuery, campo, sql, id
Dim nome, vendido, codigo, vencto, ObjRs

'Atrubuição dos valores as respectivas variáveis
nome = Request.Form("nome")
vendido = Request.Form("vendido")
codigo = Request.Form("codigo")
vencto = Request.Form("vencto")

if nome = "" then
	vendido = " "
end if
id = Request.Form("id")

'Cria o objeto RecordSet e atribui a variável 
Set objConn =  Server.CreateObject("ADODB.Connection")
'Abre a conexão com o banco de dados utilizando o Drive {Microsoft Access...
'(para utilizar outro, ex: Paradox é só substituir o Drive pelo do Paradox)
'(*.mdb) indica que o arquivo utiliza extensão mdb
objConn.Open "DBQ=" & Server.MapPath("../../dados/dados.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

SQL = "UPDATE home SET nome ='"&nome&"', vendido='"&vendido&"', codigo='"&codigo&"', vencto='"&vencto&"' WHERE id="&id

'Caso ocorra um erro esta função de erro será chamada
'On Error Resume Next
'Executa inserção no Banco de Dados 
Set ObjRs = objConn.Execute(strQuery)
'Fecha o Objeto de Conexão
objConn.close
'"Zera" qualquer instancia que possa ter no objeto objRs e objConn
Set objRs = Nothing
'Set objConn = Nothing 
if err = 0 Then
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altere Set ObjRs = objConn.Execute(strQuery)

 

Para Set ObjRs = objConn.Execute(sql)

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma dica ,ao invés de usar o método Execute do Objeto Connection, você pode usar o método OPEN, do objeto RecordSet, você tem um ganho de performance e tem mais opções e permite executar varias ações.

exemplo:

 

<% call abreconexao
			
  'crio o rs
  set rs=Server.CreateObject("ADODB.Recordset")
  'crio o SQL
  SQL="SELECT * FROM login ORDER BY login"
  rs.open SQL,conexao,1,3
   %>

onde, Call abreconexao é um arquivo asp com o conteúdo:

 

<% '----------------------
'	este arq. serve para estabelecer a conexao com o BD em Access
'	de nome quaddra.mdb - para o arquivo login_action.asp

sub abreconexao
constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/quaddra.mdb")
Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring
end sub

sub fechaconexao
set conexao=nothing
end sub
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo alterando? Você viu que na primeira linha você executava uma variável que não existia e na segunda já era a variável correta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom, pelo menos não está exibindo mensagem de erro, já que a linha do On Error Next Resume está comentada.

 

Agora faça o seguinte, poste o resultado de:

Response.Write SQL
Response.End

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja tb o que esta sendo passado no ID, dá mais um response.write no id, pra ver o valor tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca logo abaixo da linha abaixo:

SQL = "UPDATE home SET nome ='"&nome&"', vendido='"&vendido&"', codigo='"&codigo&"', vencto='"&vencto&"' WHERE id="&id

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apareceu isso

UPDATE home SET nome ='Tecno', vendido='../../imagens/naun_vendido.gif', codigo='', vencto='zxfgzxfgzxgzxg' WHERE id=6

oq quer dizer...?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quer dizer que era para ter atualizado já que os campos estão recebendo os valores.

 

Creio que a sua página

http://www.sonhoefesta.com.br/shop/admin/home/alterar.asp

 

está pegando informações diferente da tabela HOME.

 

Poste o SQL da página alterar.asp.

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem todos estes campos?

 

e o id = 6?

 

nenhuma mensagem de erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom.

 

Qual era o erro?

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.