צפיות
תשובות
בעייה בעדכון רשומה בבסיס נתונים
היי.
הכנתי מערכת קטנה שבה אני יכול לעדכן בין היתר דברים.
במסד יש לי 3 עמודות – title, page, id כאשר id זה מספור אוטומטי.
הכנתי עמוד עריכה:
<%
IdNo = CLng(Request.QueryString("ID"))
sq="select * from table_pages where id=" & IdNo
set con=server.createobject("adodb.connection")
con.open "DSN=db_pages"
set r=con.execute(sq)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
</head>
<form action="update.asp" method="post">
כותרת
<input type="text" name="title" value="<%=r.fields("title")%>"><br>
תוכן
<textarea name="page"><%=r.fields("page")%></textarea>
<br>
<br>
<input type="submit" name="send" value="שלח">
<input type="reset" name="reset" value="אפס">
</form>
</html>
שאני נכנס אליו אני רואה יפה מאוד את הפרטים של המס' שאני רוצה לערוך וכשאני לוחץ על שלח זה מעביר הכל דרך הדף הבא:
<html>
<%
dim title,page
title=request.form("title")
page=request.form("page")
set con=server.createobject("adodb.connection")
con.open "db_pages"
IdNo = CLng(Request.QueryString("ID"))
sq="update table_pages set title='"&title&"', page='"&page&"' where id=" & IdNo
con.execute sq
con.close
set con=nothing
%>
העדכון עבר בהצלחה
</html>
הוא לא כותב לי ארורים וכותב לי עדכון עבר בהצלחה כמו שכתבתי לו לעשות אבל הבעייה היא שהוא לא מעדכן כלום…
אשמח מאוד לדעת מה הבעייה.
4 תשובות
נראה לי שחסר לך…
מהתבוננות מהירה (ולא מעמיקה .. סורי)
נראה לי שחסר לך " ' " בסוף הSQ השני אחרי
idNo &
יכול להיות?
לא… זה אמור להיות ככה
הממ…
קרא
לא ראיתי בדף שמבצע את ה update איפה מאותחל (אם בכלל) המשתנה IdNo.
נסה את זה
מה שאני עושה במקרים לא ברורים הוא להדפיס את השאילתא למסך (לפני שמריצים אותה מול ה DB תעשה לה Response.Write), לפתוח תוכנת לקוח לעריכת שאילתות כלפי ה DB ולהריץ משם, הרבה פעמים זה עוזר לראות את הבעיה כי אתה רואה את השאילתא נקיה ואת ההערה של ה DB בלי מתווכים.