Avatar billede gnuen_fra Nybegynder
09. juni 2005 - 10:40 Der 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 =".

På forhånd tak for hjælpen.
Avatar billede nielle Nybegynder
09. juni 2005 - 10:43 #1
Prøv med

db.Open "SELECT * FROM skilte WHERE type = '" & session("type") & "'"
Avatar billede gnuen_fra Nybegynder
09. juni 2005 - 10:45 #2
så kommer fælgende fejl:

ADODB.Recordset (0x800A0E7D)
Forbindelsen kan ikke bruges til at udføre denne handling. Den er enten lukket eller ugyldig i denne sammenhæng.
Avatar billede medions Nybegynder
09. juni 2005 - 10:48 #3
db.Open "SELECT * FROM skilte WHERE type = '" & session("type") & "'", 1,2

Prøv sådan...

//>Rune
Avatar billede medions Nybegynder
09. juni 2005 - 10:49 #4
Eller sådan:

db.Open "SELECT * FROM skilte WHERE type = " & session("type"), 1,2

//>Rune
Avatar billede medions Nybegynder
09. juni 2005 - 10:49 #5
Hmm eller sådan her:

db.Open "SELECT * FROM skilte WHERE [type] = " & session("type"), 1,2

eller sådan:

db.Open "SELECT * FROM skilte WHERE [type] = '" & session("type") & "'", 1,2

//>Rune
Avatar billede nielle Nybegynder
09. juni 2005 - 10:49 #6
Så er det fordi at du har endnu en fejl. Det lader ikke til at du connecter korrekt til din database.
Avatar billede nielle Nybegynder
09. juni 2005 - 10:51 #7
Kan vi se koden for hvordan du opretter dit database ojjekt og forbinder til dette?
Avatar billede gnuen_fra Nybegynder
09. juni 2005 - 10:51 #8
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.
Avatar billede nielle Nybegynder
09. juni 2005 - 10:53 #9
Kildekoden! ;^)
Avatar billede gnuen_fra Nybegynder
09. juni 2005 - 10:53 #10
Jeg har brugt samme connection til mange andre sider hvor det fungerer perfekt.
Avatar billede medions Nybegynder
09. juni 2005 - 10:54 #11
Hvis jeg var dig, ville jeg nok bruge denne connection + sql opsætning:

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("dindbfil.mdb")
strSQL = "SELECT * FROM skilte WHERE [type] = " & session("type")
Set rs = objConn.Execute(strSQL)

eller sådan her

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("dindbfil.mdb")
strSQL = "SELECT * FROM skilte WHERE [type] = '" & session("type") & "'"
Set rs = objConn.Execute(strSQL)

//>Rune
Avatar billede gnuen_fra Nybegynder
09. juni 2005 - 10:58 #12
kan det her da ikke bruges?

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
Avatar billede nielle Nybegynder
09. juni 2005 - 11:17 #13
"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å ;^):
Avatar billede gnuen_fra Nybegynder
09. juni 2005 - 11:56 #14
typen er en streng der indeholder tekst.
Avatar billede gnuen_fra Nybegynder
09. juni 2005 - 12:30 #15
Problemet er fikset! SQL-statementet skal således være:

db.Open "SELECT * FROM skilte WHERE [type] = '" & session("type") & "'", database

og ikke:
db.Open "SELECT * FROM skilte WHERE [type] = '" & session("type") & "'", 1,2

1000 tak for hjælpen Nielle og Medions....

hvem vil have point?
Avatar billede nielle Nybegynder
09. juni 2005 - 12:41 #16
Siger ikke nej.

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) ;^)
Avatar billede nielle Nybegynder
09. juni 2005 - 12:48 #17
... men jeg synes forresten at 200 p er i overkanten givet sværhedsgraden - jeg nøjes helst med 15.
Avatar billede nielle Nybegynder
10. juni 2005 - 23:05 #18
Takker :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester