Testa att skriva ut din SQL-sträng innan du exekverar den, det blir lättare att se vad som kan vara fel då.
Skriv bara:
Response.write SQL
innan du exekverar den...
4 svar · 139 visningar · startad av Emilo
med denna kod:
<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("rum_rum.mdb")
if request.querystring("vad") = "beskrivning" then
SQL = "UPDATE rum_rum SET Beskrivning = '" & Request.Form("vad") &"' WHERE Rum LIKE '"& request.querystring("rum") &"' AND av LIKE '"& session("username")&"' "
db.Execute(SQL)
elseif request.querystring("vad") = "logo" then
SQL = "UPDATE rum_rum SET Logo = '" & Request.Form("vad") &"' WHERE Rum LIKE '"& request.querystring("rum") &"' AND av LIKE '"& session("username")&"' "
db.Execute(SQL)
end if%>
får jag detta felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/emilohman/rum_andra.asp, rad 24
och rad 24 är:
db.Execute(SQL)
någon som vet vad det kan vara för fel för jag vet då inte?
Testa att skriva ut din SQL-sträng innan du exekverar den, det blir lättare att se vad som kan vara fel då.
Skriv bara:
Response.write SQL
innan du exekverar den...
Kan man använda LIKE i Update-satser? Prova att byta ut alla LIKE mot = så kanske det funkar...
Liten undran: Varför använder du LIKE istället för =?
Jag vet faktiskt inte varför jag använder LIKE istället för = det bara blir så.
Vide jag förstod inte riktigt vad du menade kan du förklara det lite mer nogrant.
SQL är bara en sträng, så du kan lätt se vad som ligger i den om du skriver ut den (response.write SQL), "db.Execute(SQL)" exekverar din SQL-sträng och det är där felet uppstår, så skriv ut SQL-strängen innan rad du exekverar den (och naturligtvis efter du har skapat strängen).
Mvh, Vide