Det felet får jag också ibland. Men när jag trycker Reload så fungerar det. Märkligt.
------------------
http://www.gratistavlingar.com
18 svar · 239 visningar · startad av JAreMANNEN
Kan ni hitta något som är fel på denna kodsnutt??? Inte jag iaf...
Dim checkbox, veckodag, sok, strSQL
checkbox = Request.Form("sort_pris")
veckodag = Request.Form("veckodag")
sok = Request.Form("sok")
strSQL = "SELECT * FROM " & veckodag & " WHERE sok = '%" & sok & "'"
If checkbox = "checkbox" Then
strSQL = strSQL & " ORDER BY Pris DESC"
Else
strSQL = strSQL & " ORDER BY rest "
End If
response.write(strSQL)
Set objRS = Connection.Execute(strSQL)
Denna kod generera följande felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
sok.asp, line 18
Felet ligger "som vanligt" på raden som exekverar SQL-satsen.....
------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post
Det felet får jag också ibland. Men när jag trycker Reload så fungerar det. Märkligt.
------------------
http://www.gratistavlingar.com
som vanligt, det är sql-frågan det är fel på, skriv ut den med response.write så ser du vad som är fel.
jag gissar på att variabeln veckodag inte har något värde.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
Men hur kan felet uppstå bara ibland, för mig alltså?
------------------
http://www.gratistavlingar.com
veckodag har värde måndag, tisdag eller onsdag o.s.v. Beroende på vad man väljer ur rullningslisten...
den listan heter veckodag, då blir väl Request.Form("veckodag") rätt.....??!!
Felet ligger nog snarare i:
strSQL = "SELECT * FROM " & veckodag & " WHERE sok = '%" & sok & "'"
...för tar jag bort WHERE sok = '%" & sok & "' så funkar det..fast du listar den juh alla poster...
------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post
[Redigerat av JAreMANNEN den 19 jan 2001]
Funkar inte...fortfarande För få parametrar.. :(
------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post
skriv ut den med response.write så ser du vad som är fel.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
Ja, definitivt! Jag gör det nästan alltid, innan jag drar dit en execute/open.
Sedan måste jag få fråga om syftet med att ha val av tabell dynamiskt så där.... Varför inte bara en tabell?
Det blir juh t.o.m ERROR när man ska skriva ut den...Fy faan vad irriterad jag é nu...
Svar till emission:
Ska söka igenom tabell beroende på val i rullningslista på föregående sida.. :)
------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post
Skit samma, ordnade det där nu..
Söker inte man igenom food_1, food_2, food_3, food_4 kloumnerna i databasen med följande: ?
strSQL = "SELECT * FROM " & veckodag & " WHERE food_1 LIKE '" & sok & "%' OR food_2 LIKE '" & sok & "%' OR food_3 LIKE '" & sok & "%' OR food_4 LIKE '" & sok & "%' "
------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post
du ska ha procenttecken före sökordet också, eftersom det är ett wildcard. annars söks det endast där fälten börjar med sökordet.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
If checkbox = "checkbox" Then
strSQL = strSQL & " ORDER BY Pris DESC"
Else
strSQL = strSQL & " ORDER BY rest "
End If
Ursäkta att jag lägger mig i din kod... men har du inte lite diffusa namnval!? Måste man döpa en checkbox till "checkbox"?
Håller med dig helt om att det var lite onödigt namnval.. Blev bara så i "hasten" .. :e
------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post
Nu har jag nog rört ihop det hela lite grann..postar därför mina sidor igen...
formulärsidan som skickar iväg informationen...
<form name="sok" method="post" action="sok.asp">
<p>Sök:
<input type="text" name="sok">
<i>(tex rödspätta, köttbullar, spaghetti)</i></p>
<p>
<select name="veckodag">
<option name="veckodag" selected value="måndag">Måndag</option>
<option value="tisdag">Tisdag</option>
<option value="onsdag">Onsdag</option>
<option value="torsdag">Torsdag</option>
<option value="fredag">Fredag</option>
</select>
</p>
<p>
<input type="checkbox" name="sort_pris" value="checkbox">
Sortera efter pris</p>
<p>
<input type="submit" name="Submit" value="SÖK">
</p>
</form>
Sidan som tar emot informationen
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\minsida\databas.mdb"
Dim checkbox, veckodag, sok, strSQL
checkbox = Request.Form("sort_pris")
veckodag = Request.Form("veckodag")
sok = Request.Form("sok")
strSQL = "SELECT * FROM " & veckodag & " WHERE food_1 = '%" & sok & "%' OR food_2 = '%" & sok & "%' OR food_3 = '%" & sok & "%' OR food_4 = '%" & sok & "%' "
If checkbox = "checkbox" Then
strSQL = strSQL & " ORDER BY Pris DESC "
Else
strSQL = strSQL & " ORDER BY rest "
End If
Set objRS = Connection.Execute(strSQL)
%>
Efter detta kommer oxå resten av koden som visar sökresultatet, men den är det inga prob med...
------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post
[Redigerat av JAreMANNEN den 19 jan 2001]
Ska söka igenom tabell beroende på val i rullningslista på föregående sida..
Oki. Tänkte att det vore smidigare att
SELECT FROM den_enda_tabellen WHERE veckodag='torsdag' AND.....
ingen som kan hjälpa till....
som det är nu så söker den bara i en tabell i dbn... :(
------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post
Klart att det bara söker ur en tabell... Du anger ju bara ett tabellnamn med din sql-sats....
Sen vet jag inte om det spelar nån roll, men på formulärsidan har du namngett den första option-taggen med veckodag. Varför? Du har ju redan name i select-taggen. Det kan ställa till det lite.....
Sen hade jag försökt att undvika specialtecken när man sätter value.
Lycka till!
------------------
_________________________
Det ska va gott att leva!
För få parametrar angavs. 1 förväntades.
Rent generellt brukar detta felmeddelande betyda att man frågar efter värden som inte finns. Alltså du frågar efter "veckodagar" men det finns ingen tabell med det namnet i din databas.
Vad jag menar är att det kan vara någon felstavning någonstanns som genererar en till synes frisk fråga. Men om du jämför frågan med hur din databas är konstruerad ser du (kanske) att de inte stämmer över ens.
Det kan också vara så att man frågar efter ett felaktigt värde, till exempel '2001-01-22' när du egentligen måste fråga efter #2001-01-22#.
Man måste ha brädgårdar runt datum, enkelfjumpar runt strängar och ingenting när man frågar efter nummer eller siffror (int) eller booleans (true/false).
Felmeddelandet genereras också då man frågar efter parametrar som av någon anledning inte har något värde. Samma där, det kan också vara någon felstavning på annan plats än just själva sql frågan. Kolla att du stavat rätt på fälten i formuläret till exempel!
Are you with!?