צפיות
תשובות
עזרו לי בבקשה….
הכנתי קוד מאוד מאוד פשוט והוא פשוט לא עובד לי!
זה הוא קוד שבו אני לוחץ על קישור, שהקישור בעצם משתמש ב-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 תשובות
לא הבנתי כלום ממה שכתבת
תנסה להסביר קצת יותר טוב, ולצרף הודעת שגיאה אם ישנה.
אני ינסה להסביר קצת יותר הפעם…
תראי,
אני עושה לולאה על 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
(בין השורות שנתתי מסתתרת…)
תודה לכול מי שעוזר..
דבר ראשון….
קודם תסגור את החיבורים בכל סוף של הלולאה זה עדיין לא כתב שגיאה אבל זה יכתוב שגיאה אחר כך
בקשר לבעייה שלך הבעיה שלך היא בפתיחה הראשונה של הרקורדסט נסה להגדיר clng על ה-queryString שהצבת
ודבר שלישי לא עשיתה cs.open הצבת במשתנה CS את ה-connectionString
כמה דברים….
יש סגירה בכול סוף של לולאה בהמשך הקוד שנמצא אצלי
ומזתומרת "להגדיר clng על ה-queryString שהצבת" אין לי מושג מזה…
ואת הדבר השלישי אני עכשיו ינסה לסדר…
למדת ASP ???
בכל ספר שנתקלתי עד היום זה מוזכר בתחילת הספר טוב…
clng זה להגדיר את המספר כמס' שלם ארוך בעוד ש-cint זה להגדיר את המ' כמס' שלם בלבד.
ומה זאת אומרת יש סגירה בהמשך הלולאה הראתה שם את כל הלולאה
וגם תראה את שורה 39 (אנחנ לא יכולים לנחש ממש)