שלח תשובה

זירת השאלות

366
צפיות
10
תשובות

בעיה בעדכון נתונים באקסס

,‏ 6 ביוני, 2004

משום מה אני לא מצליח לעדכן או למחוק רשומות מהקובץ אקסס. הוא רושם לי את ההודעה הבאה:


Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’

[Microsoft][ODBC Microsoft Access Driver] Could not delete from specified tables.

/freekot/new_quote.asp, line 21
קטע הקוד של המחיקה למשל הוא:
if request("delete") <> "" then
    sql_delete = "delete * from quote where id = "&request("id")
    conn.Execute(sql_delete)
    response.redirect "quote_manager.asp"
end if

האם הבעיה בקוד?  בקובץ אקסס? ואיך אני יכול לפתור את זה?





תגיות:

10 תשובות

  1. naveyosef הגיב:

    ועכשיו שהקודים מיושרים לשמאל

    Microsoft OLE DB Provider for ODBC Drivers error ‘80004005’

    [Microsoft][ODBC Microsoft Access Driver] Could not delete from specified tables.

    /freekot/new_quote.asp, line 21

    if request("delete") <> "" then
        sql_delete = "delete * from quote where id = "&request("id")
        conn.Execute(sql_delete)
        response.redirect "quote_manager.asp"
    end if

  2. נסה כך


    if request.querystring("delete") <> "" then
    DELETE FROM quote WHERE id = " & request.querystring("id")
    response.redirect "quote_manager.asp"
    end if

  3. MasterMind הגיב:

    תראה קצת יותר קוד
    יכול להיות שלא הגדרת מפתחות !
    יענו נעילה

  4. מה שאתה רוצה לבדוק
    זה אם תיבת רדיו מסומנת?
    (כי אם כן זה לא ככה)

  5. naveyosef הגיב:

    הנה כל החלק הרלוונטי


    <%@Language=VBScript codepage=1255%>
    <Html Dir="RTL">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1255">

    <%Response.Buffer = True%>

    <!–#include file="variables.asp"–>
    <%

    if request("cancel") <> "" then
        response.redirect "quote_manager.asp"
    end if

    if request("delete") <> "" then
        sql_delete = "delete * from quote where id = "&request("id")
        conn.Execute(sql_delete)
        sql_delete = "delete * from quote where id = "&request("id")
        conn.Execute(sql_delete)
        response.redirect "quote_manager.asp"
    end if
        

    if request("update") <> "" then
        sql_update = "update quote set quote=’"&replace(request("quote"),"’","”") &"’, author=’"&replace(request("author"),"’","”") &"’ where id = "&request("id")
        conn.Execute(sql_update)
        response.redirect "quote_manager.asp"
    end if

    if request("iadd") <> "" then
        sql_insert = "insert into quote (quote,author) values (‘"&replace(request("quote"),"’","”") &"’,’"&replace(request("author"),"’","”") &"’)"
        conn.Execute(sql_insert)
        response.redirect "quote_manager.asp"
    end if

    if request("add") = "" then
        Set rs = Server.CreateObject("ADODB.Recordset")
        open_recordset    rs,"select * from quote where id = "&request("id")
            quote = rs("quote")
            places = rs("author")
            author = rs("author")
        rs.close
    End if%>

  6. naveyosef הגיב:

    ועוד חלק שקשור
    בקובץ נכלל הקובץ varible ובו כלול הקובץ function שמגדיר את ההתחברות.
    הנה הקוד:


    <%Response.Buffer = True%>

    Set conn = Server.CreateObject("ADODB.Connection")
    if instr(Request.ServerVariables("PATH_TRANSLATED"),"freekot") then
       strMyConn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("quote.mdb")&""
    else
       strMyConn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("freekot/quote.mdb")&""
    end if
    strLogin = ""
    strPassword = ""
    conn.open strMyConn, strLogin, strPassword

    function checkuser(val)
        if session("userid") = "" then
            response.redirect "login.asp"
        end if
    end function

    sub open_recordset(recordset, sql)
      Set recordset = Server.CreateObject("ADODB.Recordset")
      recordset.Open sql, conn, 1, 1
    end sub

    function DLookUp(Table,fName, sWhere)
      on error resume next
      Dim Res : Res = conn.execute("select " & fName & " from " & Table & " where " & sWhere).Fields(0).Value
      if IsNull(Res) then Res = ""
         DLookUp = Res
      on error goto 0
    end function

    function getConfig(var)
      getConfig=Dlookup("config","config_value","config_variable=’" & var & "’")
    end function

    %>

  7. naveyosef הגיב:

    בכלל לא………כנס
    זו מערכת כתבות שבה מתעדכנים "שם הכותב" ו"תוכן ההודדעה". את הנתונים מהאקסס אני מצליח לשלוף אבל לא לעדכן/להוסיף או למחוק נתונים!

שלח תשובה