Foros del Web » Programando para Internet » ASP Clásico »

error en update

Estas en el tema de error en update en el foro de ASP Clásico en Foros del Web. hola a to2. tengo un problema y no se realmente a que se debe tengo una actualizacion a mi base de datos de la siguiente ...
  #1 (permalink)  
Antiguo 02/08/2005, 05:07
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 7 meses
Puntos: 0
error en update

hola a to2.
tengo un problema y no se realmente a que se debe
tengo una actualizacion a mi base de datos de la siguiente manera

Código:
 

SQL = "insert into mensajes (Fecha,Remitente,Destinatario,Usuario"&_
	 " ) values('"&Fecha&"','"&de&"','"&destinatarios&"','"&usuario&"')"
conn.execute(SQL)
'esta la ejecuta correctamente.
en cambio debe ejecutar el siguiente update
Código:
SQL = " update Usuarios set Creditos="&TotalCreditos&" where user='"&user&"' and password='"&password&"'"
conn.execute(SQL)
y me dá el siguinte error:
Proveedor de Microsoft OLE DB para SQL Server error '80040e31'

Terminó el tiempo de espera

Prueba.asp, line 115 <-- esta linea corresponde al segundo conn.execute(SQL)


He comprobado la sentencia para ver si tenia algun parametro en blanco pero es correcta....
a que se debe este error??
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #2 (permalink)  
Antiguo 02/08/2005, 05:50
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
pues la verdad, no le veo error, a no ser que empieza en un espacio en blanco (pero no creo que sea eso)
  #3 (permalink)  
Antiguo 02/08/2005, 06:11
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 7 meses
Puntos: 0
he encontrado el problema...
antes de realizar el update tengo una select que dejo abierto

SQL = "select * from clientes"
RS.Open SQL,Conn,adOpenStatic, adCmdTable

como no cierro el recordset e intento realizar un update no me deja...
el insert me deja pq es en otra tabla...
he puesto antes del update un rs.close y me ha funcionado todo ok
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #4 (permalink)  
Antiguo 02/08/2005, 06:54
 
Fecha de Ingreso: junio-2005
Mensajes: 114
Antigüedad: 19 años, 10 meses
Puntos: 0
Ese error significa que la sentencia sql demora demasiado, por lo tanto el IIS te corta la consulta.
Sufrí muchísimo con ese error, y lo solucioné, fijate en este :

http://www.forosdelweb.com/showthrea...hlight=timeout

Slds. Edum.
  #5 (permalink)  
Antiguo 02/08/2005, 08:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 45
Antigüedad: 20 años
Puntos: 0
a mi tampoco me funciona el update y, solo tengo un record set.
Codigo:
<%
'Recogemos los valores del formulario
nombre=Request.Form("nombre")
id= CInt(Request.Form("id"))
Response.Write(nombre)
Response.Write(id)

'Instanciamos y abrimos nuestro objeto conexion
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("prueba.mdb")
'Ahora creamos la sentencia SQL
sSQL="Update ASP_USUARIOS Set Nombre='" & nombre & "' Where ID='" & id & "'"

'Ejecutamos la orden
set RS = Conn.Execute(sSQL)

%>

<h1><div align="center">Registro Actualizado</div></h1>
<div align="center"><a href="lectura.asp">Visualizar el contenido de la base</a></div>

<%
'Cerramos el sistema de conexion
Conn.Close
%>
y el error:
Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression


No se a q se debe pues, los valores me los recoge.
Gracias
  #6 (permalink)  
Antiguo 02/08/2005, 08:19
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años, 1 mes
Puntos: 9
El campo Id es de tipo texto? o numérico?, si es numérico entonces quita las comillas simples, eso es si fuera campo texto o fecha.
Saludos!.
__________________
Add, never Remove
  #7 (permalink)  
Antiguo 02/08/2005, 12:08
 
Fecha de Ingreso: mayo-2005
Mensajes: 45
Antigüedad: 20 años
Puntos: 0
Gracias.
El campo ID es numerico.
Por eso me daba error.
Ya actualiza el registro.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:20.