09. juni 2005 - 10:40Der er
14 kommentarer og 4 løsninger
fejl i SQL statement.
Er der en der kan svare mig på hvor fejlen ligger i mit SQL statement?
Sætningen ser således ud: db.Open "SELECT * FROM skilte WHERE type = " & session("type"), database
fejlmeddelsen ser således ud: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "type =".
Fejltype: ADODB.Recordset (0x800A0BB9) Argumenterne har en forkert type eller er uden for det angivne område, eller der er opstået en konflikt mellem dem.
"Type" er vist ikke et reserveret ord, og derfor er det næppe nødvendigt med [] rundt om. Det skader dog ikke.
Hvilken datatype er din "type"? Hvis det er en tekst-type så skaæ der pinger rundt om for at det skal virke:
SET database = Server.CreateObject("ADODB.Connection") database.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("DBskilte.mdb") Set db = Server.CreateObject("ADODB.Recordset") db.Open "SELECT * FROM skilte WHERE [type] = '" & session("type") & "'", 1,2
Jeg må tilstå at jeg ikke helt ved hvad "1,2" dimsen gør. Men bortset fra det, så er jeg enig med medion (det er i hvert falæd den måde jeg selv plejer at gøre det på ;^):
Rent faktisk var det jo det jeg foreslog med det samme - nu kan jeg også se hvorfor du fik den efterfølgende fejl (det var ikke min mening at du skulle slette referencen til databasen) ;^)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.