26. februar 2005 - 22:54
Der er
7 kommentarer og 1 løsning
ODBC Problem
Mærkeligfejl som jeg virkeligt ikke forstår Fejl beskrivelse: Microsoft OLE DB Provider for ODBC Drivers error '80040e21' ODBC driver does not support the requested properties. /admin_film_edit.asp, line 77 KODEN <% IF Request.QueryString("func") = "write" THEN SET RS_film1 = Server.CreateObject("ADODB.RecordSet") RS_film1.open "SELECT * FROM db_film WHERE id = " & Request("id") & "",ConStr,1,3 'Linje 77 RS_film1.update RS_film1("titel") = Request.Form("titel") RS_film1("udgiver") = Request.Form("udgiver") RS_film1("produktion") = Request.Form("produktion") RS_film1("pro_aar") = Request.Form("pro_aar") RS_film1("alder") = Request.Form("alder") RS_film1("genre") = Request.Form("genre") RS_film1("instruk") = Request.Form("ins") RS_film1("synob") = Request.Form("synob") RS_film1.update Response.Redirect("admin_film.asp") END IF %> Nogen herinde der kan se hvad jeg gør galt (MySQL server)
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
26. februar 2005 - 22:58
#1
Tjek at du har en variable som hedder ConStr typsik kommer fejlen hvis man angiver en variable som ikke findes.
26. februar 2005 - 23:03
#2
Fra toppen af filen. <% SQLserveradr="xxx" SQLdatabase="xxx" SQLlogin="xxx" SQLpassword="xxx" conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=3" %> Med mindre den er case sensitive - så brude den være iorden
26. februar 2005 - 23:07
#3
Nej den er ikke case sensitiv. Prøv at lave en connection i stedet for kun en streng: <% IF Request.QueryString("func") = "write" THEN SET RS_film1 = Server.CreateObject("ADODB.RecordSet") SET conn = Server.CreateObject("ADODB.Connection") Conn.Open conStr RS_film1.open "SELECT * FROM db_film WHERE id = " & Request("id") & "",Conn,1,3 'Linje 77 RS_film1.update RS_film1("titel") = Request.Form("titel") RS_film1("udgiver") = Request.Form("udgiver") RS_film1("produktion") = Request.Form("produktion") RS_film1("pro_aar") = Request.Form("pro_aar") RS_film1("alder") = Request.Form("alder") RS_film1("genre") = Request.Form("genre") RS_film1("instruk") = Request.Form("ins") RS_film1("synob") = Request.Form("synob") RS_film1.update Response.Redirect("admin_film.asp") END IF %>
26. februar 2005 - 23:10
#4
Giver fejl ved linje 79, stadigt samme linje :(
26. februar 2005 - 23:18
#5
mySQL og Recordset er noget som kan give problemmer og jeg har også set det. Det kan løses ved at srkive det som en rigtgi SQL sætning: <% IF Request.QueryString("func") = "write" THEN SET conn = Server.CreateObject("ADODB.Connection") Conn.Open conStr SQL = "update db_film set titel = '" & replace(Request.Form("titel"),"'","''") & "', " SQL=SQL& "udgiver = '" & replace(Request.Form("udgiver"),"'","''"( & "', " SQL=SQL& "produktion = '" & replace(Request.Form("produktion"),"'","''") & "', " SQL=SQL& "pro_aar = '" & replace(Request.Form("pro_aar"),"'","") & "', " SQL=SQL& "alder = '" & replace(Request.Form("alder"),"'","") & "', " SQL=SQL& "genre = '" & replace(Request.Form("genre"),"'","") & "', " SQL=SQL& "instruk = '" & replace(Request.Form("ins"),"'","") & "', " SQL=SQL& "synob = '" & replace(Request.Form("synob"),"'","''") & "' " SQL=SQL& " where id = " & Request("id") Conn.Execute(SQL) Conn.Close Response.Redirect("admin_film.asp") END IF %>
27. februar 2005 - 12:45
#6
Ja og så virker det, mystisk, i mine andre script var der ikke nogle problemmer?
27. februar 2005 - 15:11
#7
BTW lig et svar :)
27. februar 2005 - 16:38
#8
Nej det svinger lidt om det giver problemer, jeg har selv set fejl med mysql og recordset, og jeg har sammenlignet med kode som virker og det ligner på en prik.. Så jeg kan ikke forklare hvorfor det sker. Ok her et svar :)
Kurser inden for grundlæggende programmering