Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/03/2007, 04:15
judes
 
Fecha de Ingreso: septiembre-2006
Mensajes: 54
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Averiguar el ID del último registro insertado en una tabla para...

Lo siento Zoe, no me ha funcionado
En este mensaje hay cosas que se explican y que no vienen a cuento. esto es porque lo he copiado de un mensaje que puse en el foro de ASP

Código:
Aqui CONEXIÓN con la BD.
Esto no me preocupa ya que he comprobado que funciona
A continuación muestro como leo del archivo "mi-archivo.csv":

Código:
Dim Conn,sql,sql1,sql2
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open(mi-conexión)
set RS=Server.CreateObject("ADODB.Recordset")



Set ofiles = Server.CreateObject("Scripting.FileSystemObject")
set ofile = ofiles.getFile(Server.MapPath("mi-archivo.csv"))
Set ts = ofile.OpenAsTextStream(1, -2)*Nota 
*Nota:

Cita:
'Aqui, en ts=... he cambiado lo que tu pusiste, ya que he leido lo siguiente:


Método OpenAsTextStream

Abre un archivo especificado y devuelve un objeto TextStream que se puede utilizar para leer, escribir o agregar en el archivo.

objeto.OpenAsTextStream([modoES, [formato]])



Valores

El argumento modoES puede tener cualquiera de los siguientes valores:
Constante Valor Descripción
ForReading 1 Abrir un archivo sólo para lectura. No puede escribir en este archivo.
ForWriting 2 Abrir un archivo para escritura. Si existe un archivo con el mismo nombre, se sobreescribe su contenido anterior.
ForAppending 8 Abrir un archivo y escribir al final del archivo.

El argumento format puede tener alguno de los siguientes valores:
Constante Valor Descripción
TristateUseDefault -2 Abre el archivo utilizando el valor predeterminado del sistema.
TristateTrue -1 Abre el archivo como Unicode.
TristateFalse 0 Abre el archivo como ASCII.
Continuamos despues del inciso

Código:
on error resume next

Do while not ts.AtEndOfStream
Conn.BeginTrans

	sql="select id_r.nextval id_r from restaurantes"
	Set RS = Conn.Execute(sql) 
	id_r=RS("id_r")

arrFields = split(ts.ReadLine,",")
if isArray(arrFields) then


sql1 = "INSERT INTO MI-TABLA (ID_R,NOMBRE-RESTARANTE, SITUACION, CLASE, CANTIDAD, IMAGEN, IMAGEN2, IMAGEN3, PAGAN, PAGEXTRA, MICROSITE) VALUES ('"&id_r&"','" & arrFields(0) & "','" & arrFields(1) & "','" & arrFields(2) & "','" & arrFields(3) & "','" & arrFields(4) & "','" & arrFields(5) & "','" & arrFields(6) & "','" & arrFields(7) & "','" & arrFields(8) & "','" & arrFields(9) & "')"
con.execute(sql1)
if Conn.errors.count <> 0 then
Conn.rollback
exit do
end if

' No se cual es la funcion equivalente en Oracle
'yo creo que está aquí el problema, pero no sé como se puede recoger el ID 'del primer INSERT para usarlo en el segundo

Aquí he hecho lo que has dicho, he aprovecado el id que he conseguido con nextval para la primera, pero no me ha funcionado


sql2 = "INSERT INTO DESC_RES (ID_R,IDIOMA,DESCRIPCION) VALUES ('"&id_r&"','" & arrFields(11) & "','" & arrFields(12) & "')"
Conn.execute(sql2)

set RS = nothing
if Conn.errors.count <> 0 then
Conn.rollback
exit do
end if

end if

Conn.commitTrans
loop

err.clear()
on error goto 0
ts.close
set ofile = nothing
set ofiles = nothing
'set Rs = nothing
'set Conn = nothing




response.write("query restaurante: "&sql1)
response.write("<BR>Query Descripci&oacute;: "&sql2)
'rs.close()
'Conn.close()
%>
Aquí muestro el Archivo del que leo los datos:
'
Cita:
402667','Mi Restaurante j', '122', '94', '7', 'abrasas.gif', 'abrasas.gif','abrasas.gif', '', '', '','1','<b>Nombre:</b> Mi Resturante f<br><b>Direcci&oacute;n:</b> Direcci&oacute;n de Mi Restaurante f'
'402668','Mi Restaurante k', '122', '94', '7', 'abrasas.gif', 'abrasas.gif','abrasas.gif', '', '', '','1','<b>Nombre:</b> Mi Resturante g<br><b>Direcci&oacute;n:</b> Direcci&oacute;n de Mi Restaurante g'
'402669','Mi Restaurante l', '122', '94', '7', 'abrasas.gif', 'abrasas.gif','abrasas.gif', '', '', '','1','<b>Nombre:</b> Mi Resturante h<br><b>Direcci&oacute;n:</b> Direcci&oacute;n de Mi Restaurante h'
'402670','Mi Restaurante m', '122', '94', '7', 'abrasas.gif', 'abrasas.gif','abrasas.gif', '', '', '','1','<b>Nombre:</b> Mi Resturante i<br><b>Direcci&oacute;n:</b> Direcci&oacute;n de Mi Restaurante i'
Lo del tigger lo he mirado un poco pero no entiendo bien como va. En este código hay partes que están bien pero estoy seguro que en algún lado estoy metiendo la pata hasta el fondo

Ya me direís algo

Un saludo