webForumDet fria alternativet

Too few parameters

21 svar · 478 visningar · startad av Bendro

BendroMedlem sedan jan. 20013 039 inlägg
#1

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.

TambitchMedlem sedan maj 20049 inlägg
#2

Testa

sql1="Select user_Name, user_Type, user_Alias, user_Pass From tbl_Users WHERE user_Alias='"&user&"' AND user_Pass='"&passw&"';"

BendroMedlem sedan jan. 20013 039 inlägg
#3

Nope det hjälpte inte.

solbulleMedlem sedan mars 20015 287 inlägg
#4

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
#5

Nope, det gjorde ingen skillnad det heller.

OveRRidEMedlem sedan feb. 200112 078 inlägg
#6
  • Hur ser din connectionsträng ut?
  • Är du helt säker på att fältnamnen stämmer?
BendroMedlem sedan jan. 20013 039 inlägg
#7
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
#8

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
#9

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
#10

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
#11

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
#12

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
#13

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
#14

Kommer inga felmeddelanden när jag kör frågan direkt i Access

PalleMedlem sedan apr. 20003 174 inlägg
#15

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
#16

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.

databas.gif
PalleMedlem sedan apr. 20003 174 inlägg
#17

Skriv ut din sql-sats och kolla så alla värden kommer med fram till exekveringen..

BendroMedlem sedan jan. 20013 039 inlägg
#18

Kolla mitt första inlägg så ser du att jag redan testat det.

Engine^Medlem sedan dec. 20003 887 inlägg
#19

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
#20

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] ?

136 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)