שלח תשובה

זירת השאלות

507
צפיות
5
תשובות

עזרו לי בבקשה….

,‏ 26 בפברואר, 2004

הכנתי קוד מאוד מאוד פשוט והוא פשוט לא עובד לי!

זה הוא קוד שבו אני לוחץ על קישור, שהקישור בעצם משתמש ב-ID שבמסד ואני שולח בו משתנה….(המשתנה שלי זה גם ID)

הינה דוגמה:
xxx.asp?id=3

כשאני מנסה להציג אותו לדף שאליו נשלח המשתנה הוא פשוט לא נותן לי!

הינה חלק מן הקוד…


response.write "<table align=center bgcolor=red border=1 bordercolor=red>"
do until r.EOF
response.write "<tr><td>"
' פתיחת מסד חדש
set cs=server.createobject("adodb.connection")
cs="provider=microsoft.jet.oledb.4.0; data source="& server.MapPath("forumb.mdb") &""
set rs=server.createobject("adodb.recordset")
rs.activeconnection=cs
rs.open "select * from forumb where id = " & request.querystring("id") &" "

response.write "ההודעה: <font color=white>" &rs.fields("message") &"</font></td></tr>"

r.movenext
loop
%>


שכחתי להזכיר שאני מציג 2 מסדים שונים בדף ושניהם מקבלים את המשתנה ID ומציגים אותו, רק שהראשון כן מציג לי והשני (בקוד שנתתי) הוא לא מציג!!

אני אודה מאוד למי שיעזור לי
כי אני חייב לסיים כבר את המערכת הזאת….

תודה מראש!

תגיות:

5 תשובות

  1. לא הבנתי כלום ממה שכתבת
    תנסה להסביר קצת יותר טוב, ולצרף הודעת שגיאה אם ישנה.

  2. אני ינסה להסביר קצת יותר הפעם…
    תראי,
    אני עושה לולאה על NAME שנמצא בדטא בייס.
    על כול אחד מהם עשיתי קישור ובו משתנה ששמו ID שנשלח לדף הבא.
    עכשיו כשאני לוחץ על אחד מהקישורים הבאים אז הוא מפנה אותי לדף חדש
    ואז אני מציג רק את הID שביקשתי כך:


    r.open "select * from XXX where id = " & request.querystring("id") &" "

    עכשיו בדף אני פותח 2 מסדים שונים בנפרד.
    בפתיחה של כול מסד אני מוסיף את הקוד הזה:


    r.open "select * from ZZZ where id = " & request.querystring("id") &" "

    בפתיחה של המסד הראשון הכול פועל.
    בפתיחה של המסד השני משהו מתפקשש…..

    הינה הקוד:


    ' פתיחת מסד חדש
    set c=server.createobject("adodb.connection")
    c="provider=microsoft.jet.oledb.4.0; data source="& server.MapPath("foruma.mdb") &""
    set r=server.createobject("adodb.recordset")
    r.activeconnection=c
    r.open "select * from foruma where id = " & request.querystring("id") &" order by id DESC"

    response.write "נושא ההודעה: <b><font color=white>" &r.fields("subject") &"</b><br><br>"
    response.write "ההודעה: <font color=white>" &r.fields("message") &"</font></td></tr></table>"

    response.write "<table align=center bgcolor=red border=1 bordercolor=red>"
    do until r.EOF
    response.write "<tr><td>"
    ' פתיחת מסד חדש
    set cs=server.createobject("adodb.connection")
    cs="provider=microsoft.jet.oledb.4.0; data source="& server.MapPath("forumb.mdb") &""
    set rs=server.createobject("adodb.recordset")
    rs.activeconnection=cs
    rs.open "select * from forumb where id = " & request.querystring("id") &" "

    response.write "ההודעה: <font color=white>" &rs.fields("message") &"</font></td></tr>"

    r.movenext
    loop
    %>
    </table>

    והינה הודעת השגיאה:


    Microsoft JET Database Engine error '80040e07'

    Data type mismatch in criteria expression.

    /bananai/forum/forumID.asp, line 39

    (בין השורות שנתתי מסתתרת…)
    תודה לכול מי שעוזר..

  3. ניר טייב הגיב:

    דבר ראשון….
    קודם תסגור את החיבורים בכל סוף של הלולאה זה עדיין לא כתב שגיאה אבל זה יכתוב שגיאה אחר כך
    בקשר לבעייה שלך הבעיה שלך היא בפתיחה הראשונה של הרקורדסט נסה להגדיר clng על ה-queryString שהצבת
    ודבר שלישי לא עשיתה cs.open הצבת במשתנה CS את ה-connectionString

  4. כמה דברים….
    יש סגירה בכול סוף של לולאה בהמשך הקוד שנמצא אצלי

    ומזתומרת "להגדיר clng על ה-queryString שהצבת" אין לי מושג מזה…
    ואת הדבר השלישי אני עכשיו ינסה לסדר…

  5. ניר טייב הגיב:

    למדת ASP ???
    בכל ספר שנתקלתי עד היום זה מוזכר בתחילת הספר טוב…
    clng זה להגדיר את המספר כמס' שלם ארוך בעוד ש-cint זה להגדיר את המ' כמס' שלם בלבד.

    ומה זאת אומרת יש סגירה בהמשך הלולאה הראתה שם את כל הלולאה
    וגם תראה את שורה 39 (אנחנ לא יכולים לנחש ממש)

שלח תשובה