Ir para conteúdo

POWERED BY:

Arquivado

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

serpaa

Mais um erro

Recommended Posts

Aê galera, depois de vcs me ajudarem com um monte de erros (huahuahuahua), surgiu mais um. Acreditem se quiser! Aê vai!

 

<%Dim objConn, stringSQL, stringConnection, objRS, id, okid = Request.QueryString("id")ok = "sim"Set objConn =  Server.CreateObject("ADODB.Connection")objConn.Open "DBQ=" & Server.MapPath("banco.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"stringSQL = "UPDATE tabela SET campo=('"&ok&"') WHERE id=('"&id&"')"	  >>>Linha 20Set objRS = objConn.Execute(stringSQL)	>>>Linha 21If objRS.EOF or objRS.BOF thenresponse.write "Deu erro!"elseresponse.write "Tudo certo"response.redirect "certinhu.asp"end if%>

O erro é o esse:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /serpaa/Noticias/altera.asp, line 21

Obrigado mais uma vez! :D ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri meu erro galera! O id (do meu código) é um número, por isso não devem ser usadas aspas simples, correto?Obrigado mais uma vez :D ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri meu erro galera! O id (do meu código) é um número, por isso não devem ser usadas aspas simples, correto?

Exato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz, agora com o mesmo código (agora sem as aspas simples :D ) está dando outro erro, mas com esse eu não dei conta não.

 

Taí o código:

<%Dim objConn, stringSQL, stringConnection, objRS, id, okid = Request.QueryString("id")ok = "sim"Set objConn =  Server.CreateObject("ADODB.Connection")objConn.Open "DBQ=" & Server.MapPath("banco.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"stringSQL = "UPDATE tabela SET campo=('"&ok&"') WHERE id=("&id&")"Set objRS = objConn.Execute(stringSQL)If objRS.EOF or objRS.BOF then   >>>Linha 23response.write "Deu erro!"elseresponse.redirect "certinhu.asp"end if%>

 

Erro:

ADODB.Recordset error '800a0e78' Operation is not allowed when the object is closed. /pagina.asp, line 23

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce não tem dados pra testar tiozinhoo UPDATE não seleciona nadafaça apenas isso

<%Dim objConn, stringSQL, stringConnection, objRS, id, okid = Request.QueryString("id")ok = "sim"Set objConn =  Server.CreateObject("ADODB.Connection")objConn.Open "DBQ=" & Server.MapPath("banco.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"stringSQL = "UPDATE tabela SET campo=('"&ok&"') WHERE id=("&id&")"objConn.Execute(stringSQL)objConn.CloseSet objConn = Nothingresponse.redirect "certinhu.asp"%>
só issoE voltando ao erro...

Operation is not allowed when the object is closed.

ta dizendo que não pode usar o objeto com ele fechado..apesar de não precisar do Recordset vou explicar este erro para casos futurosSe voce tenta usar um recordset que voce ja fechou vai dar este erro, enquanto não fecha-lo voce pode usar seu conjunto de dadosentretanto apesar de não precisar de recordset para opeções de UPDATE e INSERT tem gente que usa, assim como voce usou só que o ambas fecham o RS automaticamenteja tive este erro quando fiz um select e depois um update usando o mesmo RS (o nome dele) e depois do update tentei usar o conjunto de dados...qual era meu pensamento vou usar pois ainda não fechei... mas ja tinha fechado no momento do update

Compartilhar este post


Link para o post
Compartilhar em outros sites

tranquilo então...

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.