Emil RTMedlem sedan feb. 2004200 inlägg Har följande tabell i access:
ID:Räknare
falt1: text
falt2:text
Samt följande insert i ASP:
Insert = "INSERT INTO test (falt1, falt2) VALUES ('?', '?')"
objConn.Execute Insert, array("hej", "da")
Saken är den att det är frågetecknena som läggs in i db:n och inte texten.
Har även testat:
Insert = "INSERT INTO test (falt1, falt2) VALUES (?, ?)"
objConn.Execute Insert, array("hej", "da")
Men får då:
[Microsoft][Drivrutin för ODBC Microsoft Access]Felaktigt COUNT-fält
Andledningen till frågetecknen är för att skydda mot SQL injections. Visst är det så man ska göra?
Någon som vet?
TravoniMedlem sedan okt. 20041 556 inlägg Ja du måste använda parametrar, sök lite på wf/asp
Emil RTMedlem sedan feb. 2004200 inlägg De mesta trådar på wF om parametriserade frågor handlar om select-satser. Detta är en insert och jag har inte kunnat få fram så mycket om just detta.
Jag har fattat det som att ovanstående är en parametriserad fråga. Har jag fel?
TravoniMedlem sedan okt. 20041 556 inlägg Testa detta:
sqlstmt = "INSERT INTO test (falt1, falt2) VALUES (?, ?)"
Set cmd = server.createobject("ADODB.command")
cmd.activeConnection = objConn
cmd.CommandText = SQLStmt
Set temp = cmd.Execute (, array("foo","bar"))
Set cmd = Nothing
Emil RTMedlem sedan feb. 2004200 inlägg (edit.)
Success ...!! Många tack!
Fråga:
Jag har:
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.db")'
för att öppna databasen.
Jag klistrade in din kod rätt in i asp filen och det funkade.
Hur kan din kod som har cmd isf objConn osv hitta min databas?
Vad är skillnaden på command och connection?
TravoniMedlem sedan okt. 20041 556 inlägg cmd.activeConnection = objConn
TravoniMedlem sedan okt. 20041 556 inlägg BTW:
Använd microsoft-Jet-providern i stället.
Mycket bättre.
Emil RTMedlem sedan feb. 2004200 inlägg Sorry .. såg det precis:)
Som sagt, många tack!
TravoniMedlem sedan okt. 20041 556 inlägg Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db.db")