Avatar billede trekkies Juniormester
05. januar 2006 - 14:32 Der er 11 kommentarer og
1 løsning

Problem med SQL sætning

Jeg har et problem med en SQL sætning, jeg får denne fejl:
Microsoft VBScript runtime  error '800a000d'

Type mismatch: '[string: "SELECT * FROM progra"]'

/programmer/programmer_incl.asp, line 4

I kan selv få fejlen her:
http://www.darkskies.dk/programs.asp?language=UK

Prøv så at klikke på et af linksene, få kommer fejlen frem, hvordan kan jeg rette den?

Min SQL ser sådan ud:
<%
if (Request.Querystring("language") & "") <> "" then
strSQL = "SELECT * FROM programmer WHERE id = " & Request("id") and "language = '" & Request.Querystring("language") & "'"
else
    strSQL = "SELECT * FROM programmer WHERE language = 'DK'"
end if

'    Response.Write strSQL
'    response.end
    Conn.Execute(strSQL)
    set rs = conn.execute(strSQL)
%>

Jeg får først fejlen efter at language er kommet ind i SQL sætningen.
Avatar billede trekkies Juniormester
05. januar 2006 - 14:38 #1
Efter at jeg har flyttet lidt rundt på en ", så får jeg denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/programmer/programmer_incl.asp, line 11
Avatar billede cpufan Juniormester
05. januar 2006 - 14:46 #2
prøv

if (Request.Querystring("language") & "") <> "" then
strSQL = "SELECT * FROM programmer WHERE [id] = " & Request("id") and "[language] = '" & Request.Querystring("language") & "'"
else
    strSQL = "SELECT * FROM programmer WHERE [language] = 'DK'"
end if

er id defineret som tal i db'en?
Avatar billede trekkies Juniormester
05. januar 2006 - 14:51 #3
Hvis jeg prøver den SQL sætning du skriver, så får jeg denne fejl:
Microsoft VBScript runtime  error '800a000d'

Type mismatch: '[string: "SELECT * FROM progra"]'

/programmer/programmer_incl.asp, line 5

Men hvorfor skal id og language i []?
De virker fint på de andre sider, men denne side virker ikke, fordi at jeg både vil finde id og language i den samme SQL sætning.
Avatar billede casjachan Nybegynder
05. januar 2006 - 14:56 #4
strSQL = "SELECT * FROM programmer WHERE [id] = " & Request("id") & " AND [language] = '" & Request.Querystring("language") & "'"
Avatar billede trekkies Juniormester
05. januar 2006 - 15:14 #5
Prøv at gå ind på siden igen:
http://www.darkskies.dk/programs.asp?language=DK

Klik på et link, og nu virker det, men bare ikke med language

Det link som virker er:
strSQL = "SELECT * FROM programmer WHERE id = " & Request("id")

Hvordan får jeg lov at hente id og language?

id og language er defineret i databasen og hentes hver for sig, men ikke sammen.
Avatar billede casjachan Nybegynder
05. januar 2006 - 15:32 #6
Og ID og Language er defineret som henholdsvis tal og tekst og er placeret i den samme tabel, nemlig tabellen programmer?
Avatar billede trekkies Juniormester
05. januar 2006 - 16:55 #7
Jeg havde glemt at lægge language ind i databasen, jeg skal vist ned til øjen læge :)
Avatar billede casjachan Nybegynder
05. januar 2006 - 16:56 #8
Sådan er det :-)
Avatar billede trekkies Juniormester
05. januar 2006 - 16:59 #9
Dem som vil have point, bedes lægge et svar.

Og i morgen skal jeg ned til lægen :)
Avatar billede casjachan Nybegynder
05. januar 2006 - 17:01 #10
Jeg er ligeglad med pointene, bare du fandt fejlen :-)
Avatar billede cpufan Juniormester
05. januar 2006 - 17:41 #11
svar herfra
Avatar billede trekkies Juniormester
05. januar 2006 - 20:57 #12
Tak for hjælpen til jer begge to
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