para el project
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
%>
<%
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
%>
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
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