Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Du sletter recorden også prøver du at udskrive den bagefter.... Kan selvfølgelig ikke lade sig gøre. Du skal gemme recorderen i et recordset, også slette fra databasen med din connection i stedet for at bruge recordset til at slette med. Så har du nemlig stadig en kopi af dine data i recordset.
DeleteRsNumber= CLng(Request.QueryString("ID"))
set ADO_Connection = server.Createobject("ADODB.Connection") ADO_Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database/db.mdb") set rsSletMenu = server.Createobject("ADODB.Recordset")
SQL_STRING = "Select * from menu WHERE id=" & DeleteRsNumber rsSletMenu.LockType = 3 rsSletMenu.Open SQL_STRING, ADO_Connection ADO_Connection.execute("delete from menu WHERE id=" & DeleteRsNumber)
'response.write "Siden " & rsSletMenu("name") & " er slettet" 'response.redirect "slet_side.asp" rsSletMenu.close set rsSletMenu = Nothing set ADO_Connection = Nothing
Den melder nu stadigvæk fejl: Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access-driver] Der kan ikke slettes fra de angivne tabeller. /editor/siden_slettet.asp, line 28
Så prøv uden et "ADODB.Recordset". Det kan være den ikke er glad for at man blander de to connectionstyper sammen. Dette har jeg i hvert fald brugt mange gange:
set ADO_Connection = server.Createobject("ADODB.Connection") ADO_Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database/db.mdb") set rsSletMenu = ADO_Connection.execute("Select * from menu WHERE id=" & DeleteRsNumber) ADO_Connection.execute("delete from menu WHERE id=" & DeleteRsNumber)
'response.write "Siden " & rsSletMenu("name") & " er slettet" 'response.redirect "slet_side.asp" rsSletMenu.close set rsSletMenu = Nothing set ADO_Connection = Nothing
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access-driver] Der kan ikke slettes fra de angivne tabeller.
Har lige prøvet den igen: <% Dim ADO_Connection Dim rsSletMenu Dim SQL_STRING Dim DeleteRsNumber
DeleteRsNumber= CLng(Request.QueryString("ID")) Set ADO_Connection= Server.CreateObject("ADODB.Connection") ADO_Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database/db.mdb") Set rsSletMenu= Server.CreateObject("ADODB.Recordset") SQL_STRING= "SELECT menu.* FROM menu WHERE ID=" & DeleteRsNumber
Det fatter jeg ikke... Har for en sikkerhedsskyld lige tjekket med den kode jeg har brugt, og den ser sådan ud:
Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open = "En connection-string" ... ... if mode="delete" and uID <> "" then set oRs = oConn.Execute("select name from GREEN_MeterType where id="& uID) oConn.Execute("delete from GREEN_MeterType where id="& uID) if not oRs.eof then response.write oRs("name") & " has been deleted!!" end if end if
og det er i bund og grund magen til din kode. Det eneste jeg så kan komme på er at du ikke har skriverettigheder til databasen, men så burde den komme med en "access denied" fejl.
Nu har jeg prøvet at hente en kildekode ned som jeg har redigeret i og se lige her:
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access-driver] Databasen eller objektet er skrivebeskyttet og kan ikke opdateres. /editor/menu_page_added.asp, line 21
Det er en fejl, jeg også oplever, når jeg bruger Access derhjemme. Ofte er det fordi jeg ikke har fået lukket min database forbindelse, men den kan godt forkomme alligevel. Jeg har desværre aldrig fundet ud af hvilken indstilling der skal til, for at det virker optimalt, som det gør på webhotellerne. Og jeg har endnu ikke funden en løsning her på E.
Normalt finder jeg mig i problemet, da jeg ved, det ikke opstår, når jeg først har uploaded filerne til webhotellet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.