C colione Medlem sedan juni 2001 4 421 inlägg Trådstart 25 aug. 2001 12:52 #1 Jag vill Hämta ut ID:et på d senaste inlägget i databasen hur göt jag??
<% If Request.QueryString("open") = "add2" Then %>
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\applications\citatdatabas\data\citat.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Radera = "SELECT * FROM citat ORDER BY Citat"
RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("Citat") = replace(Request.Form("citat"),"""","")
RecSet.Update
VisaCitat = RecSet("Citat")
VisaID = RecSet("ID")
RecSet.Close
Connect.Close %\>
Detta Citatet är inlagt:<p>
<b><%=VisaCitat%></b> <a href="default.asp?open=yes&what=edit&delID=<%=ID%>">Ändra</a><p>
<input type="Submit" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"><input type="button" value="Lägg till ett till" onclick="skicka1();" style="font-family: verdana, arial; font-size: 8pt">
<%End If%>
Pace Medlem sedan juni 2001 9 024 inlägg SELECT TOP 1 * FROM citat ORDER BY Citat
Borde funka.
L LarsG Medlem sedan dec. 2000 12 464 inlägg <% If Request.QueryString("open") = "add2" Then %>
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\applications\citatdatabas\data\citat.mdb"
VisaCitat = Request.form("Citat")"
sql = "insert into citat(citat) values ('" & replace(VisaCitat,"'","''") & "')"
connect.execute sql,,128
set rs = connect.execute("select @@identity")
Visaid = rs(0)
RecSet.Close
Connect.Close
Select @@identity fungerar dock bara med Access 2000
red:
pace
Ditt exempel fungerar inte, det tar fram id för det citat som liger först i alfabetisk ordning
Pace Medlem sedan juni 2001 9 024 inlägg Just det ja, hämta ut ID och visa sista id:t är två olika saker
order by id desc skulle det förresten vara
[r] Jo, upptäckte det LarsG!
J jorgen Medlem sedan feb. 2001 2 412 inlägg Hej!
En följdfråga:
Finns det något som ersätter @@identity i andra databaser, typ MySQL, SQL server, oracle, db2 mfl?
mvh Jörgen
L LarsG Medlem sedan dec. 2000 12 464 inlägg @@identity finns i
SQL server
Sybase
Access 2000
Mysql (Dom har även andra synonyma funktioner för detta)
Oracle och Postgres mfl använder sekvenser för att skapa unika nycklar.
DB2 vet jag inte hur dom gör
SQL99 (den gällande standarden) innehåller ingen funktion för detta.
L LarsG Medlem sedan dec. 2000 12 464 inlägg Blev lite nyfiken på DB2.
Dom har stöd för att man när man skapar en tabell definierar att en kolumn får automatiskt genererade värden vid insert. Funktionellt är det ungefär samma som sql server (DB2 har lite mer varianter) mfl men syntaxen skiljer sig något.
I deras online-dokumentation fanns det ingen beskrivning av någon speciell funktion för att plocka fram det senast skapade värdet vilket gör funktionaliteten mindre användbar.
Någon DB2-kunnig (sgtpepper?) som har ytterligare info?
C colione Medlem sedan juni 2001 4 421 inlägg Ok...tack så mye allihopa!!
J jorgen Medlem sedan feb. 2001 2 412 inlägg Hej och tack LarsG!
Mysql (Dom har även andra synonyma funktioner för detta)
Du har inget namn på dessa så man vet var i manualen man ska börja leta?
mvh Jörgen
L LarsG Medlem sedan dec. 2000 12 464 inlägg J jorgen Medlem sedan feb. 2001 2 412 inlägg Thanx, du e en klippa LarsG
C colione Medlem sedan juni 2001 4 421 inlägg Finns d nåt sätt man kan göra d på utan en sql-string??
M Masa Medlem sedan jan. 2001 52 inlägg Om ni kör med dreamveawer så finns det en jättebra extension till @@identity
Tomas