R Ricki Medlem sedan juni 2000 373 inlägg Trådstart 16 aug. 2000 21:41 #1 Hejsann,
Med den här scriptet lägger jag till ett nytt vykort i en databas. Jag vill lagra vykortets id i en variabel. Så här har jag gjort:
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\ricki\databaser\***.mdb") & ";pwd=***;"
SQL = "INSERT INTO Kort (Kort, PostatDen, Fran, Mess) VALUES('" & Request.Querystring("KortId") & "', " & Date & ", '" & Request.Form("Fran") & "', '" & Request.Form("Mess") & "')"
Conn.Execute(SQL)
KortIdDB = Conn("Id")
Conn.Close
Men det funkar inte. Jag får följande felmeddelande:
Körningsfel i Microsoft VBScript fel '800a01c3'
Objektet måste vara en mängd.: 'Conn'
/ricki/vykort_ivag.asp, rad 44
Vad är fel?
Vide Medlem sedan dec. 1999 8 577 inlägg Byt:
Conn.Execute(SQL)
KortIdDB = Conn("Id")
Mot:
Set RS = Conn.Execute(SQL)
KortIdDB = RS("Id")
@nders Medlem sedan juni 2000 32 967 inlägg detta är fel:
KortIdDB = Conn("Id")
så kan du inte göra. conn är ju bara ett connectionobjekt. du försöker prata med conn som om det vore ett recordset. du måste göra en select i tabellen för att få reda på det id som den nya posten fick.
R Ricki Medlem sedan juni 2000 373 inlägg Vide!
OIm jag gör som du säger måste jag ju skapa ett recorsett, eller?
Och jag måste vell öppna det?
@nders Medlem sedan juni 2000 32 967 inlägg det kanske är lite tidigt på morgonen för vide.
och ett recordset skapas när du skriver set rs = conn.execute(sql). så långt ok.
men när du ställer en insert-fråga mot en tabell i databasen får du ingenting tillbaka, alltså ett tomt recordset om du kör set rs=co...
koncentrera dig lite mer på mitt förra inlägg än på vides.
Vide Medlem sedan dec. 1999 8 577 inlägg Eh, ojdå missade att det va INSERT INTO... pinsamt...