
11/01/2006, 12:09
|
 | Moderador | | Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses Puntos: 98 | |
Recuperar dos últimas incersiones (ADO) Saludos a tod@s!
Ya me desesperó esto, tengo desde ayer tratando y nada, resulto que tengo una sentencia SQL que inserta en dos diferentes tablas y pretendo recuperar al final los dos ids resultantes para cada una de las tablas, si corro la sentencia desde el Query Analyzer funciona bien, si trato de recuperar estos valores como un recordset, me regresará un error de recordset vacío, alguna sugerencia?
Código:
qry = "INSERT INTO tbl_document(" & _
"document_name, " & _
"document_file, " & _
"document_date, " & _
"document_user, " & _
"document_live) " & _
"VALUES(?,?,getDate(),?,0); " & _
"DECLARE @ident int; " & _
"DECLARE ident_cursor CURSOR FOR SELECT @@IDENTITY; " & _
"OPEN ident_cursor; " & _
"FETCH NEXT FROM ident_cursor INTO @ident;" & _
"INSERT INTO tbl_dc(" & _
"dc_order, " & _
"dc_parent_id, " & _
"dc_folder_bit, " & _
"dc_display_bit, " & _
"dc_template_id, " & _
"dc_table_id, " & _
"dc_date, " & _
"dc_user)" & _
"VALUES(100,?,0,?,@ident,18,getDate(),?); " & _
"SELECT @@IDENTITY AS document_id, @ident AS dc_id ;"
Set param = cmd.CreateParameter("document_file", adVarChar, adParamInput, 300, m_document_file)
cmd.Parameters.Append(param)
Set param = cmd.CreateParameter("document_user", adInteger, adParamInput, 4, m_document_user)
cmd.Parameters.Append(param)
Set param = cmd.CreateParameter("dc_parent_id", adInteger, adParamInput, 4, m_dc_parent_id)
cmd.Parameters.Append(param)
Set param = cmd.CreateParameter("dc_parent_id_1", adInteger, adParamInput, 4, m_dc_parent_id)
cmd.Parameters.Append(param)
Set param = cmd.CreateParameter("dc_display_bit", adBoolean, adParamInput, 1, m_dc_display_bit)
cmd.Parameters.Append(param)
Set param = cmd.CreateParameter("document_user_1", adInteger, adParamInput, 4, m_document_user)
cmd.Parameters.Append(param)
ObjConn.Open strConnect
cmd.ActiveConnection = ObjConn
cmd.CommandText = qry
cmd.CommandType = adCmdText
Set rs = cmd.Execute.NextRecordSet()
m_document_id = rs("document_id")
m_dc_id = rs("dc_id") Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway |