![]() |
# 1 |
חבר בקהילה
|
[ASP] שגיאה בדף מסוים
שלום לכולם ,
יש לי את הקוד הזה קוד:
<!-- #INCLUDE FILE="Header.asp"--> <% if session("memberOK")="no" then Response.Write("אין לך גישה לכאן") Response.End end if db=request.form("typeD") set conn = Server.CreateObject("ADODB.Connection") conn.Open "Driver={Microsoft Access Driver (*.mdb)}; Dbq="& Server.MapPath("data.mdb") &";" set rec=Server.CreateObject("ADODB.RecordSet") sql = "INSERT INTO "&db&" (rooms,ads,city,floor,ac,parc,price,comment,cell,phone,rs) VALUES(" &request.form("Rooms")& ", '"& request.form("ads") &"', '"& request.form("city") &"', "& request.form("Floor") &", "& request.form("ac") &","& request.form("parc") &","& request.form("price") &", '"& request.form("comment") &"', "& request.form("cphone") &","& request.form("phone") &",'"&session("username")&"')" rec.Open sql,conn,3,3 conn.execute (sql) response.write("הדירה נוספה") response.Write("מספר הדירה"& rec.Fields("num").Value) rec.Close set rec=nothing conn.close set conn=nothing %> <!-- #INCLUDE FILE="Footer.asp"--> קוד:
ADODB.Recordset error '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. /DoNewApt.asp, line 15 תודה מראש לעוזרים . |
![]() |
![]() |
# 2 |
אחראי פורום
|
אני לא מבין כלום ב-ACCESS, אך יכול להיות שאתה צריך גם להכניס את NUM ולתת לו NULL?
כי כאן: HTML קוד:
rooms,ads,city,floor,ac,parc,price,comment,cell,phone,rs אך איני בטוח, אך רק תנסה. |
![]() |
![]() |
# 3 |
Whatever
|
הוא מדבר על ההדפה של num, לא ההכנסה למסד..
__________________
תומר |
![]() |
![]() |
# 4 |
A Al Alm Almo Almog!
תודה על תרומתך! |
אתה מנסה לשלוף ערך ממסד ע"י שאילתת INSERT?
אתה צריך להשתמש בשאילתת SELECT, ורק אז תוכל לקחת את הערך מהטבלה. INSERT זה להזנת נתונים. " rec.Open sql,conn,3,3 " אין סיבה להשתמש בקוד הזה, אתה לא משתמש בו. בכלל, כל הקוד שעשית לא נכון.. תקרא שוב מדריכים של איך להשתמש במסד נתונים עם ASP. |
![]() |
![]() |
# 5 |
חבר בקהילה
|
החלק של ההכנסה עובד , אבל החלק של השליפה לא .
אני צריך לשולף את ה Num של הרשומה שהוא יצר כרגע , איך אני עושה זאת ? חשבתי שה rec הולך על אותה הרשומה שנוצרה. |
![]() |
![]() |
# 6 |
A Al Alm Almo Almog!
תודה על תרומתך! |
בשביל לשלוף אותו, אתה צריך לעשות SQL נוסף, של SELECT.
אתה לא יכול לשלוף משהו, אם לא הגדרת משאילתה שתוציא אותו תחילה מהטבלה. sql="select num from tbl": set rs= rs.open sql,conn,3,1: num=rs.fields("num"): קודם עליך לעשות שאילתת SELECT(להפעיל) |
![]() |
![]() |
# 7 |
חבר בקהילה
|
קוד:
conn.execute (sql) sql="select num from "&db&" " rec.open sql,conn,3,1 num=rec.Fields("num") איך ב select הוא יודע איזה Num לשלוף ? הרי יש כמה Num או שהוא עושה זאת על הרשומה שהוכנה עכשיו ? |
![]() |
![]() |
# 8 |
A Al Alm Almo Almog!
תודה על תרומתך! |
תגדיר WHERE.
אני ממליץ לך לקרוא מדריך SQL.. יש פה בפורום אחד שפעם ממזמן כתבתי, או בהרבה אתרים אחרים כדוגמת www.webmaster.org.il. |
![]() |
![]() |
# 9 |
חבר בקהילה
|
קראתי כבר אבל אני פשוט לא מבין את הדרך שלך ..
WHERE מה ? num= למה ? הרי אני לא ידוע את הערך שלו.... |
![]() |
![]() |
# 10 |
A Al Alm Almo Almog!
תודה על תרומתך! |
אם הייתה יודע את הערך שלו, לא הייתה צריך לשלוף אותו
![]() כדי לשלוף משהו מטבלה, אתה צריך לציין לפחות פרמטר אחד שיש באותה שורה, שלא חוזר על עצמו, ואז זה יביא לך את ה NUM. לדוגמא את אחד הנתונים שהזנת בטבלה, כמה שורות לפני. למשל: select num from tbl where tbl.rooms="&request.form("rooms")&" ושוב אני ממליץ לך לקרוא מדריך SQL.. בלי לקרוא מדריך טוב לא תצליך להתקדם, כי מה שאתה שואל זה דבר בסיסי, מאוד בסיסי.. שאילתת SELECT היא השאילתה הכי בסיסית ב SQL.. |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
כלים לאשכול | |
תצורת הצגה | |
|
|