Hola! Tengo una duda que me está volviendo loco. Llevo muchas horas
tratando de encontrar una respuesta que seguro que para vosotros es algo
muy fácil pero es que yo no tengo ni idea.
Mi problema viene cuando inserto en una tabla un nuevo registro con un
identificador generado automáticamente, e intento obtener el valor de
dicho identificador nuevamente, para insertar otro registro en otra tabla.
Tengo este código:
-
Set conexion = Server.CreateObject("ADODB.Connection")
conexion.ConnectionString = BlaBlaBla 'Es un ejemplo
conexion.Open
Set citas = Server.CreateObject("ADODB.Recordset")
citas.ActiveConnection = conexion
fecha = "20050916 20:00:00"
lugar = "mi casa"
strSQL = "DECLARE @GUID uniqueidentifier "
strSQL = strSQL + "SET @GUID = NEWID() "
strSQL = strSQL + " INSERT INTO citas (id_cita, fecha, lugar) VALUES
(@GUID, '"&fecha&"', '"&lugar&"') "
strSQL = strSQL + " SELECT id_cita FROM citas WHERE id_cita = @GUID"
citas.Source = strSQL
citas.CursorType = 0
citas.CursorLocation = 2
citas.LockType = 1
citas.Open()
response.write citas.Field.Item("id_cita").Value 'linea 101
-
El error que obtengo es:
"No se encontró el elemento en la colección que corresponde con el nombre
o el ordinal pedido.
/citas/citaanadir.asp, línea 101"
Lo que quiero es obtener el valor de '@GUID' generado, para poder usarlo
en código ASP, algo así como:
id_cita = @GUID
Response.Write(id_cita) 'Se que esto no funciona pero es para que me
entendais
Y una vez que tenga ese valor, puedo realizar otro insert:
"INSERT INTO citas_clientes (id_cita, id_cliente) VALUES ('"&id_cita&"',
'"&id_cliente&"')"
Un saludo y muchas gracias
Leer las respuestas