Retroceder   Foros del Web > Programación para sitios web > ASP Clásico

Respuesta
 
Herramientas Desplegado
Antiguo 03-jul-2008, 00:27   #1 (permalink)
bui3 ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2007
Mensajes: 21
-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%> &nbsp;</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
bui3 esta en línea ahora   Responder Citando
Antiguo 03-jul-2008, 00:34   #2 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.917
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: -2147217913 = Data type mismatch in criteria expression.

bueno, es mucho codigo el que has puesto, pero no especificaste que linea es la del error, logicamente sera en la consulta a la base de datos, pero podrias enfoncarte en eso...

una sugerencia cuando quieras poner tanto codigo seria, seleccionar todo tu codigo y encerrarlo entre el codigo PHPy resultaria en algo similar a esto
Código PHP:
codigo de la pagina 
y seria mas factible poder leer tu codigo



verifica si las variables de las consultas estan correctas, si ID es numerico, la consulta no debe llevar comillas simples
Cita:
SELECT ID FROM TABLA where ID = 12312
otra es que estas usando numeros en campos de texto, y no tiene las comillas, ejemplo:
Cita:
Select ID, detalle from tabla where detalle = 1234
esto produciria un error de compatibilidad, ya que estas buscando numerico en texto, por lo tanto la correccion seria:
Cita:
Select ID, detalle from tabla where detalle = '1234'
empieza por ese lado
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 01:34.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93