Just nu i M3-nätverket
Gå till innehåll

Hämta värde från databas, inte recordset


Jakob Nanneson

Rekommendera Poster

Jakob Nanneson

Hur gör jag för att hämta ett värde, istället för ett recordset, från en databas?

 

Jag skriver:

 

Value = db.Execute("SELECT LAST_INSERT_ID()")

 

Men det fungerar ju inte alls.

 

 

Har du förslag på hur jag ska lösa det hela?

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

Använder du ADO så är det ett Recordset du får tillbaka.

Gör såhär:

 

set rs=conn.execute("SELECT LAST_INSERT_ID()")
if not rs.eof then
value=rs.fields(0).value
end if
rs.close
set rs=Nothing

 

--

En röst talade till mig och sade:

”Le och var glad, ty det kunde vara värre”.

Så jag log, och jag var glad.

Och det blev värre.

 

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

Men är detta verkligen det enklaste sättet? Visst kan man göra en funktion av det, det är väl kanske det man får göra.

 

Tack för hjälpen!

 

Det där med "rs.fields(0).value", var bra information!

 

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Om du vill ha senast inmatade posten funkar nedanstående för SQL 7.0/2000 (exempel använder Northwind databasen):

Set rs = Server.CreateObject("ADODB.Recordset")
sql = "insert into Categories(CategoryName) values('test');select @@identity as NewIdent"
'sql = "Usp_Insert_New_Category 'test'"  
set rs = conn.execute(sql)
Set rs = rs.NextRecordset
newIdent = rs.Fields(0).value
Response.Write newIdent
rs.Close

 

Mvh

 

Jimmy

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...