
03/07/2008, 00:27
|
| | Fecha de Ingreso: noviembre-2007
Mensajes: 22
Antigüedad: 17 años, 4 meses Puntos: 0 | |
-2147217913 = Data type mismatch in criteria expression. Buenas.
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...
<% 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 |