Tengo un carrito de la compra programado en asp y cuando intento actualizar unos datos de la bd, me fa el siguiente error.
-2147217913 = Data type mismatch in criteria expression.
Que puede ser...
Código :
<% if session("autorizacion")<>1 then response.redirect "login.asp" end if%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Visualización de datos enviados por formulario </title> </head> <body background="images/fondogris.gif"> <!--#include file="cabecera.inc"--> <!--#include file="config.asp"--> <% on error resume next TABLA=request.form("ntabla") set ra=createobject("ADODB.Recordset") ra.CursorType = 1 ra.LockType = 3 tabla=ucase(request.form("ntabla")) campoclave=ucase(request.form("campoclave")) vcampoclave=ucase(request.form("vcampoclave")) sqltxt="select * from "&tabla&" WHERE "&campoclave&"="&vcampoclave 'response.write sqltxt Set oRS = cnn1.OpenSchema(4) set ra=createobject("ADODB.Recordset") ra.open sqltxt,cnn1 sqltxt="UPDATE "&TABLA&" SET " sqltxt=sqltxt &ra.Fields(1).Name&"='"&request.form(ra.Fields(1). Name)&"'" For I = 2 To ra.Fields.Count - 1 'if request.form(ra.Fields(I).Name) <>"" then 'hacer distincion entre numericos para quitar comillas oRs.movefirst do while not oRs.EOF if ucase(ors("TABLE_NAME"))=ucase(tabla) and ucase(ors("COLUMN_NAME"))= ucase(ra.Fields(I).Name) then if ors("DATA_TYPE")=3 or ors("DATA_TYPE")=11 or ors("DATA_TYPE")=131 then if request.form(ra.Fields(I).Name)="" then numero=0 sqltxt=sqltxt &", "&ra.Fields(I).Name&"=0" else sqltxt=sqltxt &", "&ra.Fields(I).Name&"="&request.form(ra.Fields(I). Name) end if else if ors("DATA_TYPE")=135 then 'fecha if request.form(ra.Fields(I).Name)="" then 'fecha="12/31/2999" 'sqltxt=sqltxt &", "&ra.Fields(I).Name&"=#"&fecha&"#" sqltxt=sqltxt &", "&ra.Fields(I).Name&"=NULL" else sqltxt=sqltxt &", "&ra.Fields(I).Name&"=#"&request.form(ra.Fields(I) .Name)&"#" end if else sqltxt=sqltxt &", "&ra.Fields(I).Name&"='"&request.form(ra.Fields(I) .Name)&"'" end if end if end if oRs.movenext loop 'end if next sqltxt=sqltxt&" WHERE "&CAMPOCLAVE&"="&VCAMPOCLAVE ra.close 'response.write sqltxt response.flush cnn1.execute sqltxt 'ra.update If cnn1.Errors.Count > 0 then%> <p> <div align="center"> <center> <table border="1" width="80%" bordercolor="#666666"> <tr> <td width="100%" bgcolor="#d24ab8"> <p align="center"><font color="#FFFFFF">Error en modificacion del registro</font></td> </tr> <tr><td width="100%" align="center"> <% For each error in cnn1.errors Response.write Error.Number & " = "& Error.Description &"<br>" next%> </td> </tr> <tr> <td width="100%" bgcolor="#d24ab8"> <p align="center"><font face="Verdana" size="1" color="#FFFFFF"><b>Compruebe que todos los datos introducidos son correctos </a></font></b></td> </tr> </table> </center> </div> <hr> <div align="center"><center> <table border="1" width="44%"> <tr> <td width="100%"><p align="center"><a href="javascript:window.history.back()">Volver a la pagina anterior</a></td> </tr> </table> <%else%> <p> <div align="center"> <center> <table border="1" width="80%" bordercolor="#666666"> <tr> <td width="100%" bgcolor="#d24ab8" > <p align="center"><font color="#FFFFFF">Modificacion de registro correcta</font></td> </tr> <tr> <td width="50%" bgcolor="#FFFFFF" align="center"> <font color="#0000FF"><a href="vrs.asp?campoD=<%=campoclave%>&valorD=<%=vca mpoclave%>&tabla=<%=tabla%>">Comprobar modificación</a></font></td> </tr> </table> </center> </div> <hr> <% end if 'ra.close cnn1.close %> </center></div> </body> </html>
Ayuda ermanos.Grasias