Varför fungerar inte detta?
conn.execute(butik)
set butikid=conn.execute("select @@identity")
id=butikid(0)
Response.write(id)
Det kommer inga felmess och butik läggs verkligen till i databasen.
------------------
ja©ob
12 svar · 299 visningar · startad av Jacob
Varför fungerar inte detta?
conn.execute(butik)
set butikid=conn.execute("select @@identity")
id=butikid(0)
Response.write(id)
Det kommer inga felmess och butik läggs verkligen till i databasen.
------------------
ja©ob
Ja, då borde det sannerligen fungera.
Jag antar att butik är en SQL-fråga? Hur ser den ut?
------------------
Don't panic!
Japp, det är inget fel på den.
typ:
insert into butik (namn, gata, postnummer, ort, userid, email) values('test', 'sdsss', 7897, 'kjhkj', 1, 'hej@da.se')
------------------
ja©ob
Om du slänger ihop allt till en query då?
butik = "set nocount on" & vbcrlf & butik & vbcrlf & "select @@identity"
set butikid=conn.execute(butik)
id=butikid(0)
Response.write(id)
Mvh,
------------------
Don't panic!
Vad får du ut om du testar detta?
conn.execute(butik)
set butikid=conn.execute("select @@identity")
if isnull(butikid(0)) then
response.write "null"
else
Response.write(butikid(0))
end if
------------------
essentitia preter non sans multiplicandum
@nders:
Nu fattar jag ingenting, det fungerade perfekt.
Vad gjorde jag för fel?
[Redigerat av Jacob den 28 nov 2001]
Jag har tyvärr ingen aning. Det känns som att det du skrev helt klart borde fungera nämligen.
Man får testa lite omvägar/genvägar ibland. Jag föredrar iofs den query jag gav dig, eftersom det räcker med ett statement.
Mvh,
------------------
Don't panic!
Först och främst stänger jag av funktionen i SQL Server som säger "1 row(s) affected by last query". Den informationen får du nämligen normalt när du gör insert/update/delete i en tabell. Dock använder du den aldrig, och den här gången vill du inte ens ha den med, eftersom den så att säga 'kommer före' ditt recordset.
Lägger ihop den med radbrytning och de två frågor du ställde löst mot databasen.
Resultatet är samma sak som att i Query Analyzer skriva dina två frågor på varsin rad, exekvera frågan och hoppa över informationen om insert-resultatet.
Allt för att göra hela kittet i ett statement och vara helt säker på att du verkligen besitter samma connection som när du gjorde din insert.
Var jag tillräckligt oklar? ;)
Mvh,
------------------
Don't panic!