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

se puede hacer esto con una consulta insert

Estas en el tema de se puede hacer esto con una consulta insert en el foro de ASP Clásico en Foros del Web. sql = "SELECT * FROM encargados WHERE id IN (SELECT MAX(id)-1 FROM encargados)" rs.open sql, con, 3, 3 response.write (rs("id")) sql2 = "INSERT INTO encargados ...
  #1 (permalink)  
Antiguo 08/09/2004, 11:20
 
Fecha de Ingreso: septiembre-2004
Mensajes: 42
Antigüedad: 19 años, 9 meses
Puntos: 0
De acuerdo se puede hacer esto con una consulta insert

sql = "SELECT * FROM encargados WHERE id IN (SELECT MAX(id)-1 FROM encargados)"
rs.open sql, con, 3, 3
response.write (rs("id"))

sql2 = "INSERT INTO encargados (m1salida, dm1salida) VALUES ('"&request("m1salida")&"', '"&request("dm1salida")&"') WHERE id = rs("id")"
con.execute(sql2)


la primer cunsulta postea bien el resultado ya que lo compruebo con el response.write, pero sobre la segunda consulta el erro me dice "se esperaba fin de la instruccion" o por lo menos creo que la traduccion de esto "Expected end of statement" es lo que puse anteriormente como error,gracias a cualquiera que me pueda ayudar
  #2 (permalink)  
Antiguo 08/09/2004, 11:24
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cita:
sql2 = "INSERT INTO encargados (m1salida, dm1salida) VALUES ('"&request("m1salida")&"', '"&request("dm1salida")&"') WHERE id = rs("id")"

id queda fuera de la cadena sin caracter de concatenación ni nada, por eso el error
Debería ser:

sql2 = "INSERT INTO encargados (m1salida, dm1salida) VALUES ('"&request("m1salida")&"', '"&request("dm1salida")&"') WHERE id = " & rs("id")

Saludos

Última edición por Myakire; 08/09/2004 a las 11:27
  #3 (permalink)  
Antiguo 08/09/2004, 11:26
Avatar de juanmi321  
Fecha de Ingreso: septiembre-2004
Mensajes: 262
Antigüedad: 19 años, 9 meses
Puntos: 1
La sentencia insert no puede llevar un where, o que es lo que deseas realizar con ese where?
  #4 (permalink)  
Antiguo 08/09/2004, 11:31
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
jejejeje, cierto, aunque la solución que le dí era lo de su error en la concatenación: Expected end of statement

Cita:
INSERT [ INTO]
{ table_name WITH ( < table_hint_limited > [ ...n ] )
| view_name
| rowset_function_limited
}

{ [ ( column_list ) ]
{ VALUES
( { DEFAULT | NULL | expression } [ ,...n] )
| derived_table
| execute_statement
}
}
| DEFAULT VALUES

< table_hint_limited > ::=
{ FASTFIRSTROW
| HOLDLOCK
| PAGLOCK
| READCOMMITTED
| REPEATABLEREAD
| ROWLOCK
| SERIALIZABLE
| TABLOCK
| TABLOCKX
| UPDLOCK
}
  #5 (permalink)  
Antiguo 08/09/2004, 12:31
 
Fecha de Ingreso: septiembre-2004
Mensajes: 42
Antigüedad: 19 años, 9 meses
Puntos: 0
gracias por responder, colocando como tu me has dicho myakire me da el siguiente error "Missing semicolon (;) at end of SQL statement. " colocando el ";" me dice el mismo error del principio"Expected end of statement", si no puedo incluir una clausula where en un insert como espesificar que los valores que quiero insertar se inserten en el penultimo registro.
  #6 (permalink)  
Antiguo 08/09/2004, 12:45
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Eso sería un UPDATE, no un INSERT


sql2 = "UPDATE encargados SET m1salida = '" & request("m1salida") & "', dm1salida = '" & request("dm1salida") & "') WHERE id = " & rs("id")
__________________
...___...
  #7 (permalink)  
Antiguo 08/09/2004, 13:20
 
Fecha de Ingreso: septiembre-2004
Mensajes: 42
Antigüedad: 19 años, 9 meses
Puntos: 0
tiene razon al_zuwaga no se como no lo vi de esa forma, lo unico por si alguien mas toma el ejemplo que pusistes, delante del where no lleva ")", pero funciono de maravillas, muchas gracias
  #8 (permalink)  
Antiguo 08/09/2004, 13:26
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Es cierto, me olvidé de borrar el ")"

(y eso que no es viernes )
__________________
...___...
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 01:43.