BendroMedlem sedan jan. 20013 039 inlägg Har gett mig på ASP igen efter ett långt uppehåll. Och givetvis snubblar jag över ett av de mest klassiska felmeddelandena...too few parameters.
Har sökt och kollat i trådar, men kan inte se var jag har gjort fel även om det säkerligen är uppenbart. Känner mig därför nödgad att ta upp frågan i en ny tråd.
Felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.
/revy/adm_login1b.asp, line 17
Kodsnutten:
Function SQLSafe(str)
str = Replace(str, "'", "''")
SQLSafe = str
End Function
Dim varId, conn, sql1, rs, user, passw
Session.Timeout = 120
user=SQLSafe(request.form("fname"))
passw=SQLSafe(request.form("fpword"))
%>
<!--#INCLUDE FILE="servercon.inc"-->
<%
sql1="Select user_Name, user_Type From tbl_Users WHERE user_Alias='"&user&"' AND user_Pass='"&passw&"';"
SET rs=conn.execute(sql1)
Resultat vid response.write på sql1:
Select user_Name, user_Type FROM tbl_Users WHERE user_Alias='testuser' AND user_Pass='testlosen';
testuser och testlosen är ifyllt av mig i formuläret och kommer alltså fram ok.
user_name, user_Type, user_Pass och user_Alias är existerande fält i tabellen tbl_Users och är av typen Text. Jag har även dubbelkollat stavningen på tabell- och fältnamn.
Få mig att rodna av skam nu och peka ut det uppenbara felet jag missat.
Testa
sql1="Select user_Name, user_Type, user_Alias, user_Pass From tbl_Users WHERE user_Alias='"&user&"' AND user_Pass='"&passw&"';"
solbulleMedlem sedan mars 20015 287 inlägg Testa att peta in lite luft, mellanslag:
sql1="Select user_Name, user_Type From tbl_Users WHERE user_Alias= '" & user & "' AND user_Pass = '" & passw & "'"
Sen det sista semikolonet, gör det någon nytta? Jag fimpade det...
BendroMedlem sedan jan. 20013 039 inlägg Nope, det gjorde ingen skillnad det heller.
BendroMedlem sedan jan. 20013 039 inlägg SET conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../../data/yyyy.mdb")
Var det den du menade?
Jag har trippekollat stavningen på fältnamnen och gjorde ytterligare en koll nu. Namnen stämmer.
OveRRidEMedlem sedan feb. 200112 078 inlägg Byt ut den mot
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("../../data/yyyy.mdb")
och testa.
Jesper TMedlem sedan nov. 20017 144 inlägg Börja med att byta driver.
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("../../data/yyyy.mdb")
BendroMedlem sedan jan. 20013 039 inlägg Tja någonting hände i alla fall.
Nu fick jag detta felet istället:
No value given for one or more required parameters.
icaaqMedlem sedan okt. 20005 273 inlägg Jag hade nog testat att köra frågan i access direkt? Det brukar ge mer utförliggare felmedelenden, eller vilket fält som inte får något värde.
mv icaaq
BendroMedlem sedan jan. 20013 039 inlägg Vet tyvärr inte hur man gör det. Har inte jobbat med Access mer än att jag använder det för att skapa själva databasen.
icaaqMedlem sedan okt. 20005 273 inlägg Du klickar på frågor->skapa en fråga i designläge->stäng fönstret som kommer upp-> högerklicka på det gråa fältet ->välj SQL.
Klistra in din fråga, spara, och dubelklicka på din fråga.
mv icaaq
BendroMedlem sedan jan. 20013 039 inlägg Kommer inga felmeddelanden när jag kör frågan direkt i Access
PalleMedlem sedan apr. 20003 174 inlägg Felet antyder att en av de anropade kolumnerna i SQL-strängen saknas i den aktuella tabellen.
..så du får nog allt trippel-kolla det igen. ;)
BendroMedlem sedan jan. 20013 039 inlägg Om en kollumn saknades skulle det väl inte gå att köra frågan i Access?
Men kolla gärna, man blir ju lätt hemmablind.
PalleMedlem sedan apr. 20003 174 inlägg Skriv ut din sql-sats och kolla så alla värden kommer med fram till exekveringen..
BendroMedlem sedan jan. 20013 039 inlägg Kolla mitt första inlägg så ser du att jag redan testat det.
Engine^Medlem sedan dec. 20003 887 inlägg
Bendro skrev:
Kommer inga felmeddelanden när jag kör frågan direkt i Access
Får du ut ett user_Name och user_Type, när du kör frågan i Access?
För att utesluta kolumnnamnsfel kan du klamra alla kolumner när du kör frågan i Access.
Det verkar ju vara providern som spökar för dig...
BendroMedlem sedan jan. 20013 039 inlägg
Engine^ skrev:
Får du ut ett user_Name och user_Type, när du kör frågan i Access?
För att utesluta kolumnnamnsfel kan du klamra alla kolumner när du kör frågan i Access.
Svar ja, när jag kör frågan i Access så fungerar allt normalt.
Menar du så här: [user_Name] ?