para el project

cassandra
26 de Agosto del 2003
Estoy volviendome loca intentando meter unos valores en una tabla de una database, el problema viene cuando quiero recoger el autonumerico que se crea en uno de los campos de la tabla. Quiero recoger este valor con idea de meterlo en otra tabla de la misma base de datos, he probado a usar el @@identity y el SELECTMAX(Campo_Autonumrico), pero yo creo que no lo hago bien. Os pongo el codigo para que le echeis un vistazo ¿ok?. Me pondria muy contenta si alguien me dijese algo ;-)

<%
Dim rs0,num, sql1, sql2


set oConexion=server.createobject ("ADODB.CONNECTION")
oConexion.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& server.mappath("BPdatabase.mdb")
set rs0=Server.CreateObject("ADODB.Recordset")

sqlstr="select * from customer where name=\'"&request.form ("nombre")&"\' and surname=\'"&request.form("apellidos")&"\'"
set ors=oConexion.execute(sqlstr)

For Each key in Request.Form
strname = key
strvalue = Request.Form(key)
Session(strname) = strvalue
Next





sqlstr="insert into customer (name,surname,address,city,postcode,country,telephone,Email) values(\'"&request.form("Nombre")&"\',\'"&request.form("Apellidos")&"\',\'"&request.form("direccion")&"\',\'"&request.form("ciudad")&"\',\'"&request.form("postcode")&"\',\'"&request.form("pais")&"\',\'"&request.form("telefono")&"\',\'"&request.form("Email")&"\')"
set ors=oConexion.execute(sqlstr)

num= "SELECT MAX(idcustomer) FROM customer"
response.write(num) \'AQUI NO ME DEVUELVE NADA POR PANTALLA

sql1="insert into orders(idorder) values (num) "



set ors=oConexion.execute(sql1)
s




response.write "GRACIAS POR COMPRAR EN EL PALACIO DE LOS BOLSOS. EN BREVE CONTACTAREMOS CON USTED PARA CONFIRMAR SU PEDIDO"

else
response.write "GRACIAS POR COMPRAR EN EL PALACIO DE LOS BOLSOS. EN BREVE CONTACTAREMOS CON USTED PARA CONFIRMAR SU PEDIDO"
end if

oConexion.close
\'rs0.Close


%>



Miguel
26 de Agosto del 2003
Hola, mira yo tuve este mismo problema y lo resolv de la siguiente manera:

En lugar de utilizar una instruccin INSERT INTO CUSTOMER... lo que hice fu:

set ors=server.createobject("ADODB.Recordset")
ors.OPEN "customer", oConexion, 1,3, &H0002
rs.addnew
ors("name")=request.form("nombre")
ors("surname"=request.form("apellidos")

... (Y as sucesivamente con todos los campos)

ors.update
num=ors("idcostumer")
response.write(num)

Espero que te funcione, saludos