No value given for one or more required parameters =
Inget värde är angett för en eller flera nödvändiga parametrar
Vid liknande fel skriv alltid ut frågan.
Response.write "Debug: "& strSQL
Response.end
Antagligen saknas veckan
7 svar · 430 visningar · startad av Coccozz
Hallå!
Nu var det dags att göra entré igen. Ett snabbt kik i "Kolla min hemsida" berättar att den nya versionen av uhamn.tk har kommit upp efter många om och men. Dock är det så att en av underavdelningarna på sidan buggar ganska rejält.
Avdelningen jag talar om är "Evenemang". (länk).
Koden som visar (skall visa) vad som händer i veckan ser ut som följer:
<%vecka = DatePart("WW", now(),vbMonday,vbFirstFourDays)
Set Databas = Server.CreateObject( "Adodb.Connection" )
Databas.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath( "../../db/evenemang.mdb" )
Databas.ConnectionString = "Data Source='" & MdbFilePath & "'"
Databas.open
strSQL = "SELECT * FROM handelser WHERE vecka = " & vecka & " AND dag = 1 ORDER BY ID DESC"
Set objRS = Databas.Execute(strSQL)
IF objRS.EOF THEN
response.write ""
ELSE response.write "<table border='0' border-color='#000000' width='100%'>"
response.write "<tr>"
response.write "<td width='100%' style='border-left-width: 0; border-right-width: 0; border-top-width: 0; border-bottom-style: dotted; border-bottom-width: 1px;'><b><center><font face='Tahoma' style='font-size: 8pt; color: #000000;'>MÅNDAG</font></center></b></td>"
response.write "</tr>"
response.write "</table>"
Do Until objRS.EOF
titel = (objRS("titel"))
pris = (objRS("pris"))
id = (objRS("id"))
response.write "<table border='0' border-color='#000000' width='100%'>"
response.write "<tr>"
response.write "<td width='80%' valign='top'><font face='Tahoma' style='font-size: 8pt'><a href='javascript:popup(""info.asp?id=" & id & """,420,250);' class=""bio""> " & titel & "</a></font></td>"
response.write "<td width='20%' valign='top'><font face='Tahoma' style='font-size: 8pt; align: right; color: #000000;'>Pris: " & pris & ",-</font></td>"
response.write "</tr>"
response.write "</table>"
objRS.MoveNext
Loop
Set objRS = Nothing
END IF
strSQL = "SELECT * FROM handelser WHERE vecka = " & vecka & " AND dag = 2 ORDER BY ID DESC"
Set objRS = Databas.Execute(strSQL)
IF objRS.EOF THEN
response.write ""
ELSE response.write "<table border='0' border-color='#000000' width='100%'>"
response.write "<tr>"
response.write "<td width='100%' style='border-left-width: 0; border-right-width: 0; border-top-width: 0; border-bottom-style: dotted; border-bottom-width: 1px;'><b><center><font face='Tahoma' style='font-size: 8pt; color: #000000;'>TISDAG</font></center></b></td>"
response.write "</tr>"
response.write "</table>"
Do Until objRS.EOF
titel = (objRS("titel"))
pris = (objRS("pris"))
id = (objRS("id"))
response.write "<table border='0' border-color='#000000' width='100%'>"
response.write "<tr>"
response.write "<td width='80%' valign='top'><font face='Tahoma' style='font-size: 8pt'><a href='javascript:popup(""info.asp?id=" & id & """420,250);' class=""bio""> " & titel & "</a></font></td>"
response.write "<td width='20%' valign='top'><font face='Tahoma' style='font-size: 8pt; align: right; color: #000000;'>Pris: " & pris & ",-</font></td>"
response.write "</tr>"
response.write "</table>"
objRS.MoveNext
Loop
Set objRS = Nothing
Och så fortsätter den med samma kodsnutt tills "vecka = " & vecka & " AND dag=7".
Rendera sidan några gånger så förstår ni snart problemet. För säkerhets skull lägger jag dock upp felmeddelandet här:
Microsoft JET Database Engine error '80040e10'
No value given for one or more required parameters.
/uhamn/undersidor/evenemang/veckan.asp, line 285
Raden kan variera, men innehållet är det samma, bara olika dagars kodsnuttar. Kodraden:
Set objRS = Databas.Execute(strSQL)
Vad är det som är fel. Varför uppstår felet bara ibland?
Tack//
No value given for one or more required parameters =
Inget värde är angett för en eller flera nödvändiga parametrar
Vid liknande fel skriv alltid ut frågan.
Response.write "Debug: "& strSQL
Response.end
Antagligen saknas veckan
Problemet är bara det att felmeddelandet bara uppstår ibland. Det är inget konsekvent. Pröva nu länken med din debugtext på. Du kommer se att allt stämmer, uppdatera sedan en eller flera gånger tills du får felmeddelandet.
Ibland får man det tredje gången och ibland kan man hålla på hundra gånger utan att få det. Frågan är bara varför...
Microsoft JET Database Engine error '80040e10'
No value given for one or more required parameters.
/uhamn/undersidor/evenemang/veckan.asp, line 196
ha, ja det fungerade ju för mig i alla fall. Det hände efter att jag hållit inne F5 någon sekund...
Det var ju ett svar som hjälpte föga. Någon som vet varför det buggar ur?
Jag kan inte säga vad som orsakar felmeddelandet. Det verkar ju inte vara det uppenbara, att det är fel på databasfrågorna, så det torde ju vara ett följdfel av någonting annat.
Ta bort apostroferna runt filnamnet:
Databas.ConnectionString = "Data Source=" & MdbFilePath
Varför kör du inte en enda databasfråga och sorterar på dag, istället för att köra sju?
Ifall jag bara kör en databasfråga som sorterar på dag, blir det inte då omöjligt att få uppställningen:
Måndag
----------
Sommarmåndag
sommarmåndag2
Tisdag
---------
Sommartisdag
osv...
Eller är det möjligt att lösa detta med någon sorts IF-sats. Effektivisering av detta skriptet är mycket välkommet, det är en flaskhals...
Efter att rättat till lite i koden och loopat ut den istället renderar sidan både snabbare och buggar mindre, verkar det iaf. som just nu. Får se hur det blir.
Förslag på effektivare kodsnutt mottages gärna, loopen bygger till 99,7% på koden från ovan med separata databasfrågor.