Avatar billede bongi Juniormester
20. januar 2006 - 09:04 Der er 19 kommentarer og
2 løsninger

Kan ikke hitte fejlen..

Hvad går galt her ??? jeg har nok set mig blind på det...:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 3.
/s-gear/Secure/dsw_newUser_save.asp, line 27

Koden:

strSQL_9 = "SELECT * FROM Adresser where City=" & request("BonCity") & " And PostalCode=" & request("BonPostNr")  & " And CountryID=" & request("BonNation") 
Set rs9 = Server.CreateObject("ADODB.RecordSet")
rs9.Open strSQL_9, MM_ConnScubaCart_STRING, 1, 3

if rs9.EOF and rs9.BOF then
    Var_opret = 1
Else
    Var_opret = 0
End if
    rs9.Close
Set rs9 = Nothing


---------------------
Linie 27 er : rs9.Open strSQL_9, MM_ConnScubaCart_STRING, 1, 3
Avatar billede fennec Nybegynder
20. januar 2006 - 09:09 #1
Det er sikker din sql streng der er problemet. For det første skal der nok ' omkring bynavnet da det er tekst:
strSQL_9 = "SELECT * FROM Adresser where City='" & request("BonCity") & "' And PostalCode=" & request("BonPostNr")  & " And CountryID=" & request("BonNation") 

Prøv ellers at udskrive strSQL_9 til skærmen. Så er det ofte nemmere at se problemet...
Avatar billede bongi Juniormester
20. januar 2006 - 09:17 #2
Det hjelp ikke, til info er alle felterne tekst felter og jeg har forsøgt med:
strSQL_9 = "SELECT * FROM Adresser where City='" & request("BonCity") & "' And PostalCode='" & request("BonPostNr")  & "' And CountryID='" & request("BonNation") & "'"


--> Prøv ellers at udskrive strSQL_9 til skærmen. --> Hvordan ???
Avatar billede bongi Juniormester
20. januar 2006 - 09:19 #3
response.write strSQL_9.... ok skal lige vågne...
Avatar billede bongi Juniormester
20. januar 2006 - 09:21 #4
SELECT * FROM Adresser where City='kbh' And PostalCode='1234' And CountryID='dk'
Avatar billede fennec Nybegynder
20. januar 2006 - 09:25 #5
Det er en rigtig sql-sætning, så det er ikke der problemet er. Hvad indeholder MM_ConnScubaCart_STRING så hvis du udskriver den til skærmen??
Avatar billede bongi Juniormester
20. januar 2006 - 09:27 #6
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\Diverse\regnskab\Wf2kdata.mdb
Avatar billede bongi Juniormester
20. januar 2006 - 09:28 #7
og jeg bruger den samme andre steder på siden uden prob..
Avatar billede bongi Juniormester
20. januar 2006 - 09:42 #8
Har sporet prob til følgende...:

City='" & request("BonCity") & "'
Avatar billede fennec Nybegynder
20. januar 2006 - 09:50 #9
Jeg mener da ikke City er et reserveret ord, men prøv at smide [] omkring:
strSQL_9 = "SELECT * FROM Adresser where [City]='" & request("BonCity") & "' And PostalCode='" & request("BonPostNr")  & "' And CountryID='" & request("BonNation") & "'"
Avatar billede softspot Forsker
20. januar 2006 - 09:52 #10
Har du stavet alle feltnavnene korrekt? Når ADO brokker sig over parametre der mangler, så er det typisk fordi der er et felt som ikke er defineret i tabellen, som den så foventer ligger som en parameter til forspørgslen...

Prøv alternativt at sætte [] omkring felterne (jeg kunne have en mistanke om at CountryID f.eks. er et systemfelt), så du ender med

strSQL_9 = "SELECT * " & _
  "FROM Adresser " & _
  "WHERE [City]='" & request("BonCity") & "' " & _
  "AND [PostalCode]='" & request("BonPostNr")  & "' " & _
  "AND [CountryID]='" & request("BonNation") & "'"
Avatar billede softspot Forsker
20. januar 2006 - 09:53 #11
Hvordan sporede du i øvrigt problemet til City='" & request("BonCity") & "'...???
Avatar billede bongi Juniormester
20. januar 2006 - 10:01 #12
hvis jeg fjerner det så virker det... bare uden den sidste parameter..
Avatar billede bongi Juniormester
20. januar 2006 - 10:05 #13
Din løsning:

Too few parameters. Expected 1.
igen samme linie..
Avatar billede bongi Juniormester
20. januar 2006 - 10:06 #14
altså : rs9.Open strSQL_9, MM_ConnScubaCart_STRING, 1, 3
Avatar billede fennec Nybegynder
20. januar 2006 - 10:12 #15
Og feltet hedder også City i databasen??
Avatar billede softspot Forsker
20. januar 2006 - 10:12 #16
OK, så er der da 2 mindre end før... :)

Prøv også at sætte klammer omkring tabelnavnet

strSQL_9 = "SELECT * " & _
  "FROM [Adresser] " & _
  "WHERE [City]='" & replace(request("BonCity"),"'","''") & "' " & _
  "AND [PostalCode]='" & replace(request("BonPostNr"),"'","''")  & "' " & _
  "AND [CountryID]='" & replace(request("BonNation"),"'","''") & "'"
Avatar billede bongi Juniormester
20. januar 2006 - 10:18 #17
Nej den laver samme fejl, jeg laver en workaround, skal være færdig, så må jeg se på at få det optimeret på et senere tidspunkt,

Smid et svar så får du dine velfortjente point med tak for kampen..
Avatar billede softspot Forsker
20. januar 2006 - 10:23 #18
Jeg er ikke helt sikker på om det er dig fennec eller mig (eller os begge) der menes, så jeg smider lige et svar - så finder bongi nok ud af det :)
Avatar billede fennec Nybegynder
20. januar 2006 - 10:26 #19
Jeg er heller ikke sikker.
.o) <-- One Eyed Jack
Avatar billede bongi Juniormester
20. januar 2006 - 10:28 #20
Der er delt lige over, tak for kampen begge 2 ;-)
Avatar billede softspot Forsker
20. januar 2006 - 10:44 #21
Tak for point :)

En sidste kommentar: Det kan være du kan vinde noget ved at skifte din connectionstring ud med en mere tidssvarende version, for du bruger vel en database der baserer sig på en Access som er nyere end Office 97 (eller deromkring)...?

Eksempel:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Diverse\regnskab\Wf2kdata.mdb
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