
02/10/2007, 02:04
|
| | Fecha de Ingreso: enero-2006 Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses Puntos: 7 | |
Re: Insert en dos tablas simultaneamente. Hace algun tiempo pusieron esta solución cuando se trabaja con MSSQL Server:
Sustituye esto:
Código:
<%
set inserta = Server.CreateObject("ADODB.Command")
inserta.ActiveConnection = MM_conxion_STRING
inserta.CommandText = "INSERT INTO CABECERA (vendedor, cliente_id, user_id, fecha) VALUES ('" + Replace(titulo, "", "''") + "'," + Replace(client, "'", "''") + "," + Replace(usuario, "'", "''") + ", Replace(fecha, "'", "''") + "' ) "
inserta.CommandType = 1
inserta.CommandTimeout = 1
inserta.Prepared = true
inserta.Execute()
'inserta.Close
%>
<%
set consul = Server.CreateObject("ADODB.Recordset")
consul .ActiveConnection = MM_bolon_STRING
consul .Source = "SELECT top 1 caso_id FROM CABECERA Order by (cabecera_id) DESC"
consul .CursorType = 0
consul .CursorLocation = 2
consul .LockType = 3
consul .Open()
consulid=(consul .Fields.Item("cabecera_id").Value+1 )
%>
por esto
Código:
set inserta = Server.CreateObject("ADODB.Command")
set consul = Server.CreateObject("ADODB.Recordset")
inserta.ActiveConnection = MM_conxion_STRING
strQuery ="INSERT INTO CABECERA (vendedor, cliente_id, user_id, fecha) VALUES ('" + Replace(titulo, "", "''") + "'," + Replace(client, "'", "''") + "," + Replace(usuario, "'", "''") + ", Replace(fecha, "'", "''") + "' ); SELECT @@IDENTITY AS 'Identity' FROM CABECERA"
inserta.CommandType = 1
inserta.CommandTimeout = 1
inserta.Prepared = true
set consul = inserta.Execute(strQuery).NextRecordset
consulid = consul("Identity")
A ver si te sirve. No estoy muy seguro si el método Execute del Command de ADO permite esta asignación.
Un saludo
__________________ "Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié - |