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

No me hace el insert

Estas en el tema de No me hace el insert en el foro de ASP Clásico en Foros del Web. Hola buenas, escribía para ver si alguien me podía ayudar. Lo que hago es de la base de datos leer los registros desde abajo, hasta ...
  #1 (permalink)  
Antiguo 25/05/2006, 11:42
 
Fecha de Ingreso: mayo-2005
Mensajes: 57
Antigüedad: 19 años, 11 meses
Puntos: 0
No me hace el insert

Hola buenas, escribía para ver si alguien me podía ayudar.
Lo que hago es de la base de datos leer los registros desde abajo, hasta que encuentro el que me interesa, buscando por un nombre de usuario.
Cuando lo encuentro recojo de un formulario, un mensaje y una oferta que ha hecho, y los quiero guardar en la base de datos, pero no me deja...me da un error en la línea del "set rs= Ob_Conn.EXECUTE(strsql)"....

Os pongo aquí esa parte del código, para ver si me podeis echar una mano:

Rol=rol
IF Rol=1 THEN
IF Ob_RS.Bof AND Ob_RS.Eof THEN
contador= 1
ELSE
Ob_RS.Movelast
DO WHILE Ob_RS.Bof OR (Ob_RS("id_alumno1")=alum1)
IF Ob_RS("id_alumno1")= alum1 THEN
contador=Ob_RS("id_oferta_mensaje1")+1
ELSE
Move.Previous
END IF
LOOP
Ob_RS.Movefirst
END IF
mens=Request.Form("mensaje")
of=Request.Form("oferta")
response.write(contador)
strsql="INSERT INTO oferta_mensaje1 (id_oferta_mensaje1, id_alumno1, id_emparejamiento, mensaje, oferta) VALUES ("&contador&", '"&alum1&"', "&id_empa&", '"&mens&"', '"&of&"')"
set rs= Ob_Conn.EXECUTE(strsql)


El error que me está dando es el siguiente:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la instrucción INSERT INTO.
/PFC/negociacion.asp, línea 222


Muchas gracias!.

Salu2!
  #2 (permalink)  
Antiguo 25/05/2006, 11:49
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 21 años, 3 meses
Puntos: 1
porque no checas los tipos de datos que estas tratando de insertar que correspondan al tipo de campo correspondiente
  #3 (permalink)  
Antiguo 25/05/2006, 12:04
 
Fecha de Ingreso: mayo-2005
Mensajes: 57
Antigüedad: 19 años, 11 meses
Puntos: 0
No me hace el insert

Ya, ya lo hice, porque pensé que sería eso, pero los parámetros están bien, y están bien pasado. Comprobé incluso si eran vacios, pero tampoco...
  #4 (permalink)  
Antiguo 25/05/2006, 12:11
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
'"&alum1&"'

id_alumno es numerico ???? si es si
deve de ir sin comilla simple "&alum1&"
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 26/05/2006, 13:09
 
Fecha de Ingreso: mayo-2006
Mensajes: 15
Antigüedad: 18 años, 11 meses
Puntos: 0
No me hace el insert

A mi me marcaba el mis mo error y creo q el proble ma esta en los espacios, por lo que veo no estas manejando ningun espacio entre el dieresis (') y las comillas ("), yo estoy trabajando concatenando cajas de texto y otros controles mi codigo correcto es el siguiente:

Dim inser As String = "Insert into GRESPUESTA values('" & Label4.Text & "','" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "')"
Dim comm As New SqlCommand(inser, con.con)
comm.ExecuteReader()


los espacios a los q me refiero es que va values('" valor1 "','" valor2 "','" valorn "'). Obviamente donde es numero se le quita la indicacion de cadena, espero que te sirva de algo
  #6 (permalink)  
Antiguo 26/05/2006, 13:40
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 3 meses
Puntos: 2
Cita:
A mi me marcaba el mis mo error y creo q el proble ma esta en los espacios, por lo que veo no estas manejando ningun espacio entre el dieresis (') y las comillas ("), yo estoy trabajando concatenando cajas de texto y otros controles mi codigo correcto es el siguiente:
lo de los espacios no tiene nada que ver.
haz un response.write strsql para ver si a la sentencia le falta algun valor.
__________________
Manual de ASP Avanzado ;-)
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 10:58.