02. august 2001 - 12:35
Der er
13 kommentarer og 1 løsning
@@IDENTITY - SQL server
Jeg har følgende insert eksempel til en tabel på SQL-server......(2000 el. 7) Jeg kan ikke få den til at udskrive ID\'et på den sidste oprettede post, det virker fint nok på en Access 2000 db. Hvad er der galt her? Set myConn = Server.CreateObject(\"ADODB.Connection\") myConn.Open \"DRIVER=SQL Server; SERVER=123.456.789.123; UID=brugernavn; PWD=password; DATABASE=dbnavn;\" FormNavn = Replace(Request.form(\"FormNavn\"), \"\'\", \"\'\'\") FormEmail = Replace(Request.form(\"FormEmail\"), \"\'\", \"\'\'\") StrSQL = \"INSERT INTO TWform (FormNavn,FormEmail) \" strSQL = strSQL & \"VALUES (\'\" & FormNavn & \"\',\'\" & FormEmail & \"\') \" Set rs = myConn.Execute(strSQL) Set rsIdentity = myConn.Execute(\"SELECT @@IDENTITY as NewID\") response.write(rsIdentity(\"NewID\")) myConn.Close Set myConn = Nothing /søren
Annonceindlæg fra Computerworld
02. august 2001 - 12:38
#1
dette skulle kunne gøre det: SQLInsert = \"Set nocount on \" SQLInsert = \"din insertsætning.........\" SQLInsert = SQLInsert &\" select IndsatFirmaID=@@identity \" SQLInsert = SQLInsert &\" set nocount off \" set ResIndsatFirmaID = Conn.execute(SQLInsert) Response.write ResIndsatFirmaID(\"IndsatFirmaID\")
02. august 2001 - 12:50
#2
Jeg får følgende fejl: Item cannot be found in the collection corresponding to the requested name or ordinal. på linien: Response.write ResIndsatFirmaID(\"IndsatFirmaID\") Den opretter recorden godt nok, den kan bare ikke finde den efter den oprettet....hvad er det ??? /søren
02. august 2001 - 12:55
#3
prøv dette: StrSQL = \"set nocount on\" StrSQL = StrSQL & \"INSERT INTO TWform (FormNavn,FormEmail) \" strSQL = strSQL & \"VALUES (\'\" & FormNavn & \"\',\'\" & FormEmail & \"\') \" StrSQL = StrSQL &\" select NewID=@@identity\" StrSQL = StrSQL &\" set nocount off \" Set rs = myConn.Execute(strSQL) response.write rs(\"NewID\")
02. august 2001 - 13:02
#4
Det var også sådan at jeg havde gjort, men det giver fejl..... Det er underligt for min første sætning virker fint på en Access db. ? /søren
02. august 2001 - 13:04
#5
udskriv lige din sql inden du executer den og post evt. resultatet
02. august 2001 - 13:11
#6
Den er jeg ikke lige helt med på......hvad mener du?
02. august 2001 - 13:12
#7
prøv dette: StrSQL = \"set nocount on\" StrSQL = StrSQL & \"INSERT INTO TWform (FormNavn,FormEmail) \" strSQL = strSQL & \"VALUES (\'\" & FormNavn & \"\',\'\" & FormEmail & \"\') \" StrSQL = StrSQL &\" select NewID=@@identity\" StrSQL = StrSQL &\" set nocount off \" \'\'\'\'\'\'\'\'\'\'\'\' response.write strsql response.end Set rs = myConn.Execute(strSQL) response.write rs(\"NewID\")
02. august 2001 - 13:14
#8
StrSQL = StrSQL &\" set nocount off \" response.write StrSQL response.end Set rs = myConn.Execute(strSQL) så kan du få og se hvad strSQL egentlig indeholder - istedet for at den bliver udført.... og vis evt. den response.write der kommer ud af det - så er det lidt nemmere at forsøge at hjælpe
02. august 2001 - 13:14
#9
sorry - det var ikke for at gentage dig slash - begyndte at skrive mit svar før dit var blevet posted :)
02. august 2001 - 13:26
#10
Den indeholder, dette udskrives ved response.write StrSQL: INSERT INTO TWform (FormNavn,FormEmail) VALUES (\'MitNavn\',\'sr@mail.dk\')select FormID=@@identity set nocount off
02. august 2001 - 13:30
#11
og du husker at sætte nocount = on?
02. august 2001 - 13:59
#13
bist du tot gegangen?
02. august 2001 - 14:16
#14
Nein aber, immer noch problemen haben.... Dit link refererer jo til lige netop det, og det løser han jo på samme måde som dig....men det virker ikke..... I min tabel er der et felt sat med primary key, og identify med feed på 1, og den har ingen problemer med at oprette recorden....og jeg har sat nocount on verdamt ;o)
Kurser inden for grundlæggende programmering