Just nu i M3-nätverket
Jump to content

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


Jakob Nanneson

Recommended Posts

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?

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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!

 

Link to comment
Share on other sites

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

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...