Avatar billede jmc Nybegynder
20. august 2001 - 23:48 Der er 8 kommentarer og
1 løsning

error in WHERE clause.

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in WHERE clause.

/kg/demo4/info.asp, line 15

kg.Open() er linie 15 men SQL ser sådan ud, hvad kan være problemet?


kg.Source = \"SELECT id, group, menutxt FROM kginfo WHERE group = \'\" + Replace(kg__MMColParam, \"\'\", \"\'\'\") + \"\'\"
kg.CursorType = 0
kg.CursorLocation = 2
kg.LockType = 3
kg.Open()
Avatar billede tokelil Nybegynder
21. august 2001 - 00:39 #1
Har du prøvet at udskrive den streng med Response.Write ? Så kan man tit se hvad problemet er ! Er oxo lettere for \"os\" at sige noget hvis vi ved hvordan SQL strengen ser ud...
Avatar billede tmceu Praktikant
21. august 2001 - 01:04 #2
Et typisk problem er reserverede ord, som eks. Id og group.

Prøv med \"SELECT [id], [group], menutxt FROM kginfo WHERE group = \'\" & Replace(kg__MMColParam, \"\'\", \"\'\'\") & \"\'\"

Bruger du VBScript ?

I så fald skal det være \"SELECT [id], [group], menutxt FROM kginfo WHERE group = \'\" & Replace(kg__MMColParam, \"\'\", \"\'\'\") & \"\'\"


Avatar billede jmc Nybegynder
21. august 2001 - 07:56 #3
response.write kulturguide.Source
giver dette resultat:


SELECT [id], [group], [menutxt] FROM kginfo WHERE group = \'kgaarhus\'
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in WHERE clause.

/kg/demo4/info.asp, line 16
Avatar billede jmc Nybegynder
21. august 2001 - 08:11 #4
OK, Det var group som var reserveret, men nu melder den:

SELECT * FROM kginfo WHERE menugroup = \'kgaarhus\'
ADODB.Fields error \'800a0cc1\'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/kg/demo4/info.asp, line 123

Avatar billede tmceu Praktikant
21. august 2001 - 09:57 #5
Ja, undskyld havde overset den sidste group.

Har du et felt der hedder menugroup i tabellen ?

SELECT * FROM kginfo WHERE menugroup = \'kgaarhus\'
Avatar billede jmc Nybegynder
21. august 2001 - 14:10 #6
Yes, der er et felt som hedder menugroup!
hvad kan jeg eller gøre for at du kan se på det?
Avatar billede tmceu Praktikant
21. august 2001 - 22:44 #7
Denne fejl kan opstå i 2 tilfælde; manglende felt eller Ambiguous name = tvetydig navn på kolonne.

Lad os antage at din tabel indeholder felterne: id, menugroup, menutxt

Og at du derefter trækker data ud med nedenstående SQL statement

SELECT * FROM kginfo WHERE menugroup = \'kgaarhus\'

Hvis du herefter prøver at tilgå et felt der ikke findes, eks. Response.Write(kg(\"et_felt\")), vil du få denne fejl.

Jeg tror at du har ændret navnet på feltet group til menugrooup ?

I så fald, kontroller at du ikke et andet sted i koden refererer til det gamle navn group, da det vil give denne fejl.


Avatar billede jmc Nybegynder
21. august 2001 - 22:49 #8
tak for den lange beskrivelse. Jeg har prøvet næsten alt. Til sidst prøvede jeg at ændre tabellens navn! det virkede. Jeg tror det spøger fordi jeg havde ikke brugt mærkeligt tegn?? Tak for hjælpen!
Avatar billede tmceu Praktikant
21. august 2001 - 22:54 #9
Det var så lidt :-)
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