637
צפיות
צפיות
10
תשובות
תשובות
בעיה בעדכון נתונים באקסס
משום מה אני לא מצליח לעדכן או למחוק רשומות מהקובץ אקסס. הוא רושם לי את ההודעה הבאה:
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 תשובות
ועכשיו שהקודים מיושרים לשמאל
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
נסה כך
if request.querystring("delete") <> "" then
DELETE FROM quote WHERE id = " & request.querystring("id")
response.redirect "quote_manager.asp"
end if
תראה קצת יותר קוד
יכול להיות שלא הגדרת מפתחות !
יענו נעילה
ניסיתי – לא הצליח
מה שאתה רוצה לבדוק
זה אם תיבת רדיו מסומנת?
(כי אם כן זה לא ככה)
הנה כל החלק הרלוונטי
<%@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%>
זה לא כל החלק הרלוונטי
זה כל החלק!!
ועוד חלק שקשור
בקובץ נכלל הקובץ 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
%>
בכלל לא………כנס
זו מערכת כתבות שבה מתעדכנים "שם הכותב" ו"תוכן ההודדעה". את הנתונים מהאקסס אני מצליח לשלוף אבל לא לעדכן/להוסיף או למחוק נתונים!
קרא כאן