Har sökt i forumet men hittar inget bra svar på detta.
sql = "INSERT INTO upphovsman(fornamn,efternamn,land,fodelsear) VALUES('" & upload.form("nyupphovsman_fornamn") & "','" & upload.form("nyupphovsman_efternamn") & "','" & upload.form("nyupphovsman_land") & "','" & upload.form("nyupphovsman_fodelsear") & "')"
set tmpRS = getDB().execute(sql)
sql = "SELECT @@IDENTITY AS test"
set tmpRS2 = getDB().execute(sql)
id2 = tmpRS2("test")
Variabeln id2 blir 0 hur jag än gör. Beror det på min DB-funktion, getDB()? Den ser ut så här:
function getDB()
set getDB = server.createobject("Adodb.connection")
getDB.open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=servernamn;PORT=3306;DATABASE=dbnamn; USER=anvandare;PASSWORD=losenord;OPTION=16384;"
end function
Den borde ju inte stängas i alla fall mellan insertarna liksom. Jag kör ASP mot MySQL 5.
Litet tillägg: Tabellen 'upphovsman' har alltså ett auto_increment-fält som heter 'upphovsmanID'.
PS. Finns någon fin (gärna svensk) tutorial på Stored Procedures i MySQL 5 så man slipper de här problemen? Ge gärna tips! DS.
Jag gör precis enligt emissions förslag, men får detta fel:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-5.0.15-standard-log]You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near ';SELECT @@IDENTITY' at line
Har testat både med @@IDENTITY och last_insert_id()
och både med och utan alias
sql = "INSERT INTO tbl(ett,tva,tre) VALUES('Ett','Två','Tre');SELECT @@IDENTITY"
set rs = connection.execute(sql).NextRecordset
lastid = rs(0)