webForumDet fria alternativet

Skapa nytt i DB och hämta ID

ASP

6 svar · 236 visningar · startad av roady

Medlem sedan jan. 2002473 inlägg
Frågan#1

Jag försöker med en Upload där jag vill byta namn och sedan lägga till i DB och ladda upp filen...

Så först måste jag veta vilket unikt ID min fil kommer att ha, men hur gör jag detta?

Testat med:

Dim objRS, objConnect, newID, SQLopen
	Set objRS = Server.CreateObject("ADODB.Recordset")
	Set objConnect = Server.CreateObject("ADODB.Connection")
	
	SQLopen = "SELECT galleryID, userID FROM gallery;"
	objConnect.Open "DSN=webportal"
	objRS.Open SQLopen, objConnect, adOpenStatic, adLockOptimistic 
		objRS.MoveLast
		objRS.AddNew
			objRS("userID") = MyID
			newID = objRS("galleryID")
		objRS.Update
	objRS.Close: Set objRS = Nothing
	objConnect.Close: Set objConnect = Nothing

Men jag får inte ut något värde till newID

Medlem sedan juni 200032 967 inlägg
#2

Provat att flytta ner tilldelningen av newID till under .Update?

Medlem sedan jan. 2002473 inlägg
#3

Det ville sig inte :(

Medlem sedan jan. 2002473 inlägg
#4

Någon måste väll kunna det här?
Kan det inte vara något med objRS.Open SQLopen, objConnect, adOpenStatic, adLockOptimistic ??

Medlem sedan jan. 2002473 inlägg
#5

Det verkar vara något helmysko här...

Testade med:

Dim objRS, objConnect, newID, SQLopen, SQLinsert
	Set objRS = Server.CreateObject("ADODB.Recordset")
	Set objConnect = Server.CreateObject("ADODB.Connection")
	
	SQLinsert = "INSERT INTO gallery (userID) VALUES ("& MyID &");"
	SQLopen = "SELECT galleryID FROM gallery;"
	
	objConnect.Open "DSN=webportal"
	objConnect.Execute SQLinsert
	
	objRS.Open SQLopen, objConnect, adOpenStatic, adLockReadOnly, adCmdText
		objRS.MoveLast
			newID = objRS("galleryID")
	objRS.Close: Set objRS = Nothing
	objConnect.Close: Set objConnect = Nothing

Men jag får inget värde där heller :(

Medlem sedan juni 200032 967 inlägg
#6

Kör du Access? I så fall, under förutsättning att versionen är nyare än 97, och under förutsättning att galleryID är en räknare, borde detta funka:

Dim objRS, objConnect, newID, SQLopen, SQLinsert
	Set objConnect = Server.CreateObject("ADODB.Connection")
	
	SQLinsert = "INSERT INTO gallery (userID) VALUES ("& MyID &");"
	SQLopen = "SELECT @@IDENTITY"
	
	objConnect.Open "DSN=webportal"
	objConnect.Execute SQLinsert
	set objRS = objConnect.Execute(SQLopen)
	newID = objRS(0)
	objRS.Close: Set objRS = Nothing
	objConnect.Close: Set objConnect = Nothing

Mvh,

Medlem sedan jan. 2002473 inlägg
#7

haha....
Fan va jag är dålig!!!

Klart att jag inte kan se någon eftersom jag skickar vidare och uppdaterar på samma sajt!!! Känner mig fruktansvärt dum ibland!!

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)