webForumDet fria alternativet

Skicka vidare..

ASP

6 svar · 237 visningar · startad av alj

Medlem sedan sep. 2002538 inlägg
Frågan#1

Jag undrar hur jag skall lösa mitt problem som jag också skrivit om i min forum tråd under "Kolla min hemsida".

Det är så att jag har gjort ett litet forum, där man kan skriva en tråd om man känner för det. När man skrivit tråden så skall man sedan skickas vidare till tråden man skrivit.
Hur skall detta gå till?

Man vet ju inte ID numret på tråden man skrivit vid detta läge, id numret får man ju automatiskt av databasen?!

Några förslag?

Medlem sedan feb. 200112 078 inlägg
#2
strSQL = "INSERT INTO Tabell (tjosan) VALUES('hej');SELECT @@IDENTITY"
set objRS = objConn.Execute(strSQL).NextRecordSet
intNewID = objRS(0)

http://www.webforum.nu/showthread.php?s=&threadid=56907&highlight=%40%40IDENTITY

Medlem sedan sep. 2002538 inlägg
#3

OveRRidE skrev:

strSQL = "INSERT INTO Tabell (tjosan) VALUES('hej');SELECT @@IDENTITY"
set objRS = objConn.Execute(strSQL).NextRecordSet
intNewID = objRS(0)

http://www.webforum.nu/showthread.php?s=&threadid=56907&highlight=%40%40IDENTITY

Tack för hjälpen, men får följande fel:

Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 

[Microsoft][Drivrutin för ODBC Microsoft Access] Tecken efter slutet av SQL-uttryck. 

/batalj-forum/Skriv.asp, rad 61

Rad 61 är följande: set objRS = Connect.Execute(strSQL).NextRecordSet

På Följande kod:

Dim StrSQL, intNewID
          StrSQL = "INSERT INTO tblTradar(Rubrik, Email, Forfattare, Inlagg, Hemsida, Datum, Svar, Senastupd) VALUES('"& Rubrik &"', '"& Epost &"', '"& Namn &"', '"& Inlagg &"', '"& Hemsida &"', #"& Now() &"#, 0,#"& Now() &"#);SELECT @@IDENTITY"
          set objRS = Connect.Execute(strSQL).NextRecordSet
          intNewID = objRS(0)

Förstår inte så mycket nu så hoppas någon kan hjälpa mig :)

Medlem sedan feb. 200112 078 inlägg
#4

Sådär då?

Dim StrSQL, intNewID
StrSQL = "INSERT INTO tblTradar(Rubrik, Email, Forfattare, Inlagg, Hemsida, Datum, Svar, Senastupd) VALUES('"& Rubrik &"', '"& Epost &"', '"& Namn &"', '"& Inlagg &"', '"& Hemsida &"', #"& Now() &"#, 0,#"& Now()"#)"
Connect.Execute(strSQL),,128
set objRS = Connect.Execute("SELECT @@IDENTITY FROM tblTradar")
intNewID = objRS(0)
Medlem sedan sep. 2002538 inlägg
#5

OveRRidE skrev:

Sådär då?

Dim StrSQL, intNewID
StrSQL = "INSERT INTO tblTradar(Rubrik, Email, Forfattare, Inlagg, Hemsida, Datum, Svar, Senastupd) VALUES('"& Rubrik &"', '"& Epost &"', '"& Namn &"', '"& Inlagg &"', '"& Hemsida &"', #"& Now() &"#, 0,#"& Now()"#)"
Connect.Execute(strSQL),,128
set objRS = Connect.Execute("SELECT @@IDENTITY FROM tblTradar")
intNewID = objRS(0)

Perfa det fungerar, men blir det inte en stor effektförlust om man exekverrar två SQL strängar istället för en? Går det inte att lösa det med en SQL sträng?

Äh spela roll om det blir mindre snabbladdat tack så mycket för hjälpen :)

Medlem sedan feb. 200112 078 inlägg
#6

Det borde du inte oroa dig för, såvida du inte väntar många besökare.

Glöm inte att stänga recordset och connections bara.

Medlem sedan sep. 2002538 inlägg
#7

OveRRidE skrev:

Det borde du inte oroa dig för, såvida du inte väntar många besökare.

Glöm inte att stänga recordset och connections bara.

Då är det nog ingen fara min sida lär knappast få mer än 5 besökare per dag.
Självklart stänger jag alltid dom :).

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)