Avatar billede mskjoldp Novice
17. januar 2004 - 20:56 Der er 19 kommentarer og
2 løsninger

SQL string fejl

Hej E

Fejlen lyder således:
Too few parameters. Expected 1

Fejlen ref til denne SQL linje:
Set rss = Conn.Execute("SELECT billeder.Bscr FROM billeder WHERE billeder.Btab='" & "Did" & "' AND billeder.Bref='" & Request.QueryString("id") & "'")

/Skjold
Avatar billede ellebaek Nybegynder
17. januar 2004 - 20:58 #1
Set rss = Conn.Execute("SELECT Bscr FROM billeder WHERE Btab='Did' AND Bref=" & Request.QueryString("id"))

Hvis din querystring("id") er et tal skal den se ud som dette...
Avatar billede mskjoldp Novice
17. januar 2004 - 21:15 #2
jeg får samme fejl.

Jeg skriver Request.QueryString("id") ud inden og får et fint tal.

Men stadigvæk samme fejl selvom jeg bruger din string.

/Skjold
Avatar billede ellebaek Nybegynder
17. januar 2004 - 21:18 #3
Set rss = Conn.Execute("SELECT Bscr FROM billeder WHERE Btab='Did' AND Bref=" & CInt(Request.QueryString("id")))

Prøv denne...
Avatar billede mskjoldp Novice
17. januar 2004 - 21:21 #4
nope :(

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

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

/default.asp, line 2298

Som er:
Set rss = Conn.Execute("SELECT Bscr FROM billeder WHERE Btab='Did' AND Bref=" & CInt(Request.QueryString("id")))

Er du interesseret i at vide hvad det går ud på? Eller har du flere muligeder.. :)

/Skjold
Avatar billede ellebaek Nybegynder
17. januar 2004 - 21:25 #5
prøv at skrive dette i stedet...

sql = "SELECT Bscr FROM billeder WHERE Btab='Did' AND Bref=" & CInt(Request.QueryString("id")
response.write sql
response.end
set rss = Conn.Execute(sql)

ind i stedet for linien:
Set rss = Conn.Execute("SELECT Bscr FROM billeder WHERE Btab='Did' AND Bref=" & CInt(Request.QueryString("id")))
Avatar billede dna Nybegynder
17. januar 2004 - 21:26 #6
Måske et dumt spørgsmål... men, den fejl kan godt kunne ved en simpel fejl...
Sikker på at dit felt hedder: bscr og din tabel hedder: billeder ?

dna
Avatar billede ellebaek Nybegynder
17. januar 2004 - 21:28 #7
tænkte jeg også lige...

Det er typisk fordi den ene værdi der søges efter ikke findes, eller også er det fordi et felt ikke hedder det i databasen..
Avatar billede mskjoldp Novice
17. januar 2004 - 21:31 #8
tjekker...
Avatar billede mskjoldp Novice
17. januar 2004 - 21:38 #9
Hov hov der var en lille trykfejl. Yep I havde ret, Bscr skulle hedde Bsrc, men...

Du skifter fejlen til dette:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

hvor linjen er:
Set rss = Conn.Execute("SELECT Bsrc FROM billeder WHERE Btab='Did' AND Bref=" & CInt(Request.QueryString("id")))

/Skjold
Avatar billede dna Nybegynder
17. januar 2004 - 21:40 #10
"Data type mismatch" er når man blander tal-felter og tekst-felter.

Du skal tjekke op på...
- er Btab et tekst/notalt-felt
- er Bref et tal felt?

dna
Avatar billede mskjoldp Novice
17. januar 2004 - 21:42 #11
Denne her slipper igennem fint:

Set rss = Conn.Execute("SELECT Bsrc FROM billeder WHERE Btab='Did' AND Bref='25'")

Her er værdierne forudbestemt

/Skjold
Avatar billede mskjoldp Novice
17. januar 2004 - 21:42 #12
Når ja... tjekker...
Avatar billede ellebaek Nybegynder
17. januar 2004 - 21:43 #13
Set rss = Conn.Execute("SELECT Bsrc FROM billeder WHERE Btab='Did' AND Bref='" & CInt(Request.QueryString("id") & "'"))

så skal den se ud som dette hvis den: 17/01-2004 21:42:12 virker
Avatar billede mskjoldp Novice
17. januar 2004 - 21:44 #14
hmm.. de er nu elle sammen Notat-felter... måske kan de ikke sammen.. jeg prøver at ændre dem til tekst...
Avatar billede ellebaek Nybegynder
17. januar 2004 - 21:45 #15
det behøves ikke...

Det var fordi jeg med den sql jeg skrev før antog at dit bref felt var et tal felt..

prøv det sidste jeg skrev.
Avatar billede dna Nybegynder
17. januar 2004 - 21:46 #16
Hvis de alle er notat/tekst felter, så skal du bare bruge den SQL som ellebaek skrev af "17/01-2004 21:43:52"

dna
Avatar billede mskjoldp Novice
17. januar 2004 - 21:47 #17
---> ellebaek

Jeg får denne fejl med den nye string:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'CInt'

Med koden:
Set rss = Conn.Execute("SELECT Bsrc FROM billeder WHERE Btab='Did' AND Bref='" & CInt(Request.QueryString("id") & "'"))

/Skjold
Avatar billede dna Nybegynder
17. januar 2004 - 21:48 #18
Set rss = Conn.Execute("SELECT Bsrc FROM billeder WHERE Btab='Did' AND Bref='" & Request.QueryString("id") & "'")
Avatar billede ellebaek Nybegynder
17. januar 2004 - 21:49 #19
Set rss = Conn.Execute("SELECT Bsrc FROM billeder WHERE Btab='Did' AND Bref='" & Request.QueryString("id") & "'")
Avatar billede mskjoldp Novice
17. januar 2004 - 21:51 #20
Hallo i kommodeskuffen, de virker, og i kan svare i kor *LOL*

Takker, points til jer, og lærdom til mig....

:)

/Skjold
Avatar billede dna Nybegynder
17. januar 2004 - 21:52 #21
Jeg smider lige et svar så! :D
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