webForumDet fria alternativet

@@identity få inte ut värdet ur detta

Databaser & SQL

5 svar · 525 visningar · startad av eddy1

Medlem sedan aug. 2001969 inlägg
Frågan#1

Får inte ut värdet från @@identity. Gör enligt nedanstående?

SQL = "INSERT INTO contacts (c_dateAdded) VALUES ('"& now &"') SELECT @@identity AS test"
Con.execute(SQL)
response.Write(test)

Detta ger ingeting men heller inget felmeddelande.. Provar jag SQL frågan mot databasen så får man värdet på posten som läggs till???

Provade även

SQL = "INSERT INTO contacts (c_dateAdded) VALUES ('"& now &"') SELECT @@identity AS test"
Set db = Con.execute(SQL)
response.Write(db("test"))

Då står det bara att objektet inte finns i mängden

Databsen är MSSQL..

Mvh

Medlem sedan juni 20019 519 inlägg
#2

SQL = "INSERT INTO contacts (c_dateAdded) VALUES ('"& now &"');SELECT @@identity AS test"

Medlem sedan aug. 2001969 inlägg
#3

provade detta:

SQL = "INSERT INTO contacts (c_dateAdded) VALUES ('"& now &"'); SELECT SCOPE_IDENTITY() AS test"
Set db = Con.execute(SQL)
Session("idnr") = db("test")     RAD 12

men få detta felet hela tiden..

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/test/uploadscript2.asp, line 12

men posten läggs till i databasen??

Medlem sedan dec. 200012 464 inlägg
#4
SQL = "set nocount on " & _
" INSERT INTO contacts (c_dateAdded) " & _
" VALUES (getdate()) " & _
" SELECT SCOPE_IDENTITY() AS test"
Medlem sedan juni 20019 519 inlägg
#5
SQL = "INSERT INTO contacts (c_dateAdded) VALUES ('"& now &"');SELECT SCOPE_IDENTITY()"

dim newId
newId = Con.execute(SQL)(0)
Session("idnr") = newId
Medlem sedan dec. 19996 721 inlägg
#6

Du kör både en insert och en select, och kommer därför att får tillbaka två recordset från Con.Execute. Du kan hoppa fram till det andra recordset:et så här:

Set db = Con.Execute(SQL).NextRecordSet

MEN! Den lösning som LarsG visade (set nocount on) är mycket snyggare , eftersom den gör att endast ett recordset returneras.

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)