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.....
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 & "%' "
<%
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...
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.
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!?
285 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a