I icaaq Medlem sedan okt. 2000 5 273 inlägg Trådstart 19 maj 2003 21:56 #1 Jag har denna:
[red]
strGetId = "INSERT INTO t_getID(f_tabell)VALUES('"&strSerieNamn&"')"
ObjConn.Execute(strGetId)
Set ObjRS = ObjConn.Execute("Select last_insert_id()")
intLastId = ObjRS(0)
[/red]
Det blir en insert i t_getID men när jag ska hämta det senaste insatta ID´t så får jag noll(0) varför??
Mvh icaaq
Palle Medlem sedan apr. 2000 3 174 inlägg Kanske dum fråga.. ..men har du auto_increment i kolumnen?
I icaaq Medlem sedan okt. 2000 5 273 inlägg Jo det var en dum fråga.....men jag svara jepp på den
Palle Medlem sedan apr. 2000 3 174 inlägg Förstog det.. hehe.
Vad kör du med för OPTION i din connectionstring?
Testa med: OPTION=16386;
Qimen Medlem sedan juni 2001 5 009 inlägg Har du satt Primary key på id?
Palle Medlem sedan apr. 2000 3 174 inlägg
MyODBC readme.win skrev:
ADO: 2+16384 (Return matching rows + Change BIGINT to INT)
Du kanske ska testa att byta till option 16386.
I icaaq Medlem sedan okt. 2000 5 273 inlägg Jag får det inte att funka......så här ser det ut nu
[red]
strGetId = "INSERT INTO t_getID(f_tabell)VALUES('"&strSerieNamn&"')"
Set Objconn = Server.CreateObject("ADODB.Connection")
Objconn.ConnectionString = "Provider=MySQLProv;Data Source=x;User Id=x;Password=x; Driver={mySQL};Server=217.78.33.147;Option=16386;Database=x"
Objconn.open
'Response.Write strGetId
ObjConn.Execute(strGetId)
Set ObjRS = ObjConn.Execute("Select last_insert_id() FROM t_getid")
intLastId = ObjRS(0)
[/red]
I icaaq Medlem sedan okt. 2000 5 273 inlägg Om jag skriver detta i mySQL-Front
[red]
INSERT INTO t_getID(f_tabell)VALUES('icaaq');Select last_insert_id()[/red]
så får jag ut det senaste id:et
Palle Medlem sedan apr. 2000 3 174 inlägg
icaaq skrev:
ObjConn.Execute("Select last_insert_id() FROM t_getid")
Du ska inte ha med tabell-namnet i din sql-sats utan bara
[red]ObjConn.Execute("Select last_insert_id()")[/red]
Jag har också sett exempel på att man kan använd:
[red]SELECT id FROM tbl WHERE id = last_insert_id()[/red]
..men detta är dock inget som jag har testat själv.
I icaaq Medlem sedan okt. 2000 5 273 inlägg JAg har nu testat alla sorters förslag.....men allt bara resulterar i 0
Jag använder mig av mySQL 4.0.12
KAnske det kan hjälpa mig??
Palle Medlem sedan apr. 2000 3 174 inlägg Synd att inte Aleborg är online, han hade ett liknande problem en gång vet jag.. hade,
om jag inte minns helt fel, med OPTION att göra.. Men jag hittar baske mig inte hans mail.
Har du läst i manualen så allt stämmer med datatyperna?
http://www.mysql.com/doc/en/Miscellaneous_functions.html
N niko Medlem sedan juni 2002 2 599 inlägg Bara för att öka förvirringen kan jag tala om att det är tvärtom hos mig: Om jag kör frågorna rakt mot MySQL så får jag alltid 0 och om jag kör dem via ADO:n så funkar det (MySQL 3.23.54/ADO2.6).
Men vad är det för märklig connectionstring du kör med? Det är ju en blandning mellan OLEDB och ODBC! Har du provat att välja endera?
"Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;"
Förslagsvis till att börja med.
I icaaq Medlem sedan okt. 2000 5 273 inlägg
niko skrev:
Bara för att öka förvirringen kan jag tala om att det är tvärtom hos mig: Om jag kör frågorna rakt mot MySQL så får jag alltid 0 och om jag kör dem via ADO:n så funkar det (MySQL 3.23.54/ADO2.6).
Men vad är det för märklig connectionstring du kör med? Det är ju en blandning mellan OLEDB och ODBC! Har du provat att välja endera?
"Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;"
Förslagsvis till att börja med.
hur ska den se ut tycker du ?
N niko Medlem sedan juni 2002 2 599 inlägg Tja, eftersom du inleder med "Provider=MySQLProv.." så skulle jag tippa att du kör på MyOLEDB och att den ignorerar de felaktiga MyODBC-parametrarna. Prova alltså att ange en ODBC-koppling ungefär som ovan. (Ifall MyOLEDB är buggig.)
I icaaq Medlem sedan okt. 2000 5 273 inlägg opps såg inte att du redigerade
Palle Medlem sedan apr. 2000 3 174 inlägg Jag kör med
[red]Connect.Open "Driver={mySQL};Server=xxx;Option=16386;Database=xxx;Uid=xxx;Pwd=xxx"[/red]
[r] Skum formatering det blir på koden, har den alltid varit så??
I icaaq Medlem sedan okt. 2000 5 273 inlägg weeeee med den så funkar det
N niko Medlem sedan juni 2002 2 599 inlägg Verkar alltså som om MyOLEDB är buggig. Så här står det i manualen (MyOLEDB 3.0):
LAST_INSERT_ID([expr])
Returns the last automatically generated value that was inserted into an AUTO_INCREMENT column.