עבור לתוכן

בעייה בעדכון רשומה בבסיס נתונים ב ASP

Featured Replies

פורסם

היי.

הכנתי מערכת קטנה שבה אני יכול לעדכן בין היתר דברים.

במסד יש לי 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>

הוא לא כותב לי ארורים וכותב לי עדכון עבר בהצלחה כמו שכתבתי לו לעשות אבל הבעייה היא שהוא לא מעדכן כלום...

אשמח מאוד לדעת מה הבעייה.

תודה לכל העוזרים!

פורסם

הדף בו נמצא הטופס בורר רשומה בודדת לפי QueryString

שיטת שליחת הטופס שבחרת היא POST

לכן בלחיצה על submit הדף המעדכן עולה בלי QueryString ולכן אין לך למעשה ID של הרשומה שצריכה להתעדכן

לא מומלץ בכלל להעביר מפתחות רשומות דרך ה- QueryString

בדף הטופס שים את ה- ID גם כן באלמנט טקסט נסתר בדומה למה שעשית עם השדות האחרים אבל ה- type שלו זה hidden

ואז בדף שמעבד את הטופס תקלוט את ה- ID דרך Request.Form

פורסם
  • מחבר

ניסיתי איך שכתבת אבל הוא נתן לי ארור, לדעתי אי אפשר להתיחס למספור אוטומתי וליבא אותו כביכול מטופס, כמו גם תאריך...

הצלחתי בסוף לעשות עם QueryString, פשוט בדף של הטופס ב Action של הטופס הוספתי לקישור ?=id וקליטת המספר מהכתובת וזה פעל.

תודה בכל אופן!

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים