שלח תשובה

זירת השאלות

195
צפיות
34
תשובות

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

,‏ 18 במאי, 2004

יש לי טבלה בשם:
total
ושדה בשם:
counter
בקאונטר יש מספר 1
אני רוצה כל פעם שאני נכנס לדף מסויים (הדף שיהיה בו את המערך שאני מבקש) אז הקאונטר יעלה באחד…
ניסיתי לעשות את זה אבל זה לא הלך לי…

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

תגיות:

34 תשובות

  1. אוריקס הגיב:

    מקד את השאלה
    איך בדיוק ניסית? מה לא הלך לך? אתה מקבל שגיאה כלשהי?

  2. L-e-RaN הגיב:

    update
    SQL="UPDATE total SET counter=counter+1 WHERE ID = ‘" & ID & "’;"
    conn.execute SQL

    סוג שגיאה:
    Microsoft JET Database Engine (0x80040E14)
    ‏‏שגיאת תחביר במשפט UPDATE.
    /web11122/index_si/privet_index_si.asp, line 13

  3. אוריקס הגיב:

    ישר בבקשה קודים לשמאל
    נסה את זה:


    SQL="UPDATE total SET counter=counter+1 WHERE ID = " & ID
    conn.execute SQL

  4. L-e-RaN הגיב:

    לא עוזר
    זה נותן הודעת שגיאה:

    סוג שגיאה:
    Microsoft JET Database Engine (0x80040E14)
    ‏‏שגיאת תחביר במשפט UPDATE.
    /web11122/index_si/privet_index_si.asp, line 13

    לא יודע אם אתה עשית טעות או בכוונה אבל לא סגרת את הסוגרים האחרונים…
    אז גם את זה ניסיתי וזה לא הלך…

  5. נסה ככה


    SQL="UPDATE [total] SET [counter]=[counter]+1 WHERE [ID] = " & ID
    conn.execute SQL

    ואין צורך בסוגריים

  6. L-e-RaN הגיב:

    כמו שאמרתי ניסיתי וזה לא עובד…
    אצל חבר שלי יש את אותה הפקודה בערך ופשוט לקחתי ממנו את הפקודה ושיניתי פשוט את השמות של הטבלאות וזה גם לא הולך…
    זזה יכול להיות משהו עם הIIS שלי?

  7. L-e-RaN הגיב:

    עוד שאלה…
    איך אני עושה


    Response.redirect

    אבל רק שזה יפתח בחלון חדש?

  8. אוריקס הגיב:

    אם זה נפתח בחלון חדש, זה לא Redirec
    t אלא סתם פתיחה של עמוד בחלון חדש.

  9. אוריקס הגיב:

    ואי אפשר לעשות את זה בצד שרת, כמובן

  10. L-e-RaN הגיב:

    מישהו יודע אולי למה session לא מתאח
    למה session לא מתאחסן אצלי בשרת?
    זאת אומרת שאני עושה:


    session("abcd")="ok"

    ואחרי זה אני מציג אותו ואין לו ערך…

  11. mrmistory הגיב:

    אחרי 20 דקות הוא ריק……..
    זה ברירת מחדל שלו.
    ניתן לשנות את זה.


    Session.Timeout=TIME

    או


    Session("OK").Timeout=TIME

    הייתי רוצה לדעת גם כן מה הבדל בניהם.

  12. L-e-RaN הגיב:

    אני יודע ש…
    אני יודע שזה נמחק אחרי 20 דקות…
    אבל הקטע גם לדקה אחת הוא לא שומר לי את הערך שלו…

  13. mrmistory הגיב:

    אז אולי בטעות…..
    אתה דורס אותו ב-1 הדפי ASP שלך?
    בדוק.

  14. L-e-RaN הגיב:

    לא…
    אני לא דורס אותו בשום דף…
    יש לי 2 דפים…
    1.:


    session("name")="ok"

    דף שני:


    <%response.write session("name")%>

    וזה לא מציג לי את ערך "ok"
    לפי דעתי זה משהו בIIS כי לפני שבוע זה גם לא עבד…
    שיחקתי בIIS וזה פתאום עבד ואחרי ריסטרט זה חזר…

  15. L-e-RaN הגיב:

    אוקיי…
    אז ככה…
    שאני עושה

    <%response.write(session("name"))%>

    באותו הדף אז זה מציג לי את ok

    אבל שאני עושה את זה בדף אחר זה לא מציג לי את ok…

  16. L-e-RaN הגיב:

    קח…
    הדף הראשון (name.asp):


    <%

    dim conn
    set conn=server.createobject("adodb.connection")
    dim ConnString
    ConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &_
    Server.MapPath("../db/db.mdb") & ";"
    conn.Open connString
    dim rs,sql
    set rs=server.CreateObject("adodb.recordset")
    sql="select name, pass from name"
    rs.Open sql,conn
    user = rs("name")
    pass = rs("pass")
    if request.form("name")=name and request.form("pass")=pass then
    Session("name")="ok"
    %>
    הגישה אושרה
    <a href="name2.asp">
    לחץ כאן בכדי לעבור לדף הבא
    </a>
    <%else%>
    אין לך גישה
    <%end if%>

    הדף השני (name2.asp):


    <%if session("name")="ok" then%>
    ברוך הבא למועדון
    <%else%>
    אין לך גישה
    <%end if%>

    ניסיתי גם ככה בדף השני ולא הלך:


    <%if (session("name"))="ok" then%>
    ברוך הבא למועדון
    <%else%>
    אין לך גישה
    <%end if%>

    לדף הראשון הוא מציג לי את הקישור לדף השני… (ולא את "אין לך גישה") ושאני לוחץ על הקישור לדף השני זה אומר לי בדף השני שאין לי גישה…

  17. sirob הגיב:

    אולי IE חוסם לך את ה-sessions?
    נסה לבדוק את ה-session באותו דף שבו שמת אותו, ובדוק אם זה עובד… וגם, נסה להוסיף את האתר שלך ל-trusted websites ב-IE, או לחילופין להוריד את הגדרות האבטחה למינימום.

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

    הבעיה היא שאתה בודק משתנה שלא קיים


    user = rs("name")
    pass = rs("pass")
    if request.form("name")=name and request.form("pass")=pass then
    Session("name")="ok"


    במקום זה תעשה כך:


    user = rs("name")
    pass = rs("pass")
    if request.form("name")=user and request.form("pass")=pass then
    Session("name")="ok"


    (שניהם בדף הראשון)

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

    אין קשר…
    SESSION זה משהו שקורה בשרת ולכן הדפדפן לא יכול לשלוט עליו. מה שאתה אמרת יעבוד על עוגיות (אם אני לא טועה)…

  20. L-e-RaN הגיב:

    בסדר זה סתם דוגמא שבניתי לפה לפורום
    אז ככה שאמרתי לך שהגעתי לדף הראשון…
    אבל לדף השני זה לא מתחבר לי זאת אומרת שבדף הראשון אני רואה את:
    "הגישה אושרה לחץ כאן בכדי לעבוד לדף הבא"
    את זה אני רואה… אבל את הדף השני אני רואה:
    "אין גישה"
    ולא
    "ברוך הבא למועדון"

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

    נו באמת…
    תראה לנו את העמוד האמיתי… איך אתה מצפה שנענה לך?!

  22. L-e-RaN הגיב:

    טוב הדף השני היה באמת הדף שלי הדף ה
    הראשון:


    <%

    dim conn
    set conn=server.createobject("adodb.connection")
    dim ConnString
    ConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &_
    Server.MapPath("../db/db.mdb") & ";"
    conn.Open connString
    dim rs,sql
    set rs=server.CreateObject("adodb.recordset")
    sql="select useradmin, passadmin from admin"
    rs.Open sql,conn
    user = rs("useradmin")
    pass = rs("passadmin")
    %>
    <%if request.form("admin")=user and request.form("pass")=pass then
    Session("admin")="ok"

    %>
    <a href="add_index.asp">כנס</a>
    <%else%>
    אין גישה
    <%end if%>

    הדף שני אותו דבר…


    <%if session("name")="ok" then%>
    ברוך הבא למועדון
    <%else%>
    אין לך גישה
    <%end if%>

  23. sirob הגיב:

    אז בדף הראשון אין בכלל בדיקה של
    ה-Session….
    תוסיף את זה גם לדף הראשון:


    <%if session("name")="ok" then%>
    ברוך הבא למועדון
    <%else%>
    אין לך גישה
    <%end if%>

    וגם, כדאי לבדוק, אולי צריך לכתוב Session ולא session.

  24. sirob הגיב:

    כדאי לבדוק אם זה בכלל שם את
    ה-session. זה יצמצם את האפשרויות לבעיה.

    אם זה שם את ה-session ורק בדף השני זה נעלם אז הבעיה היא במעבר בין הדפים, אבל אם כבר בדף הראשון אתה לא מצליח לקרוא את הערך יש בעיה עם ה-sessions באופן כללי.

  25. L-e-RaN הגיב:

    בדף הראשון אני מצריך לקרוא את הערך.
    בדף שאני קובע את הSession אני יכול לקרוא את הערך…
    אבל בדף השני זה כבר לא קורא לי אותו…

  26. sirob הגיב:

    ניסית את הגדרות האבטחה ב-IE? ל"ת

  27. L-e-RaN הגיב:

    המשתנה הזה נשמר בIIS ולא באקספלורר.
    וגם אני ניסיתי להחליף דפדפן וזה לא הלך…

  28. L-e-RaN הגיב:

    איך אני מחלק פריטים מדטאביס לעמודים
    יש לי טבלה בשם
    tag123
    ואני רוצה שכל הנתונים בטבלה יחולקו לדפים
    למשל יש לי 80 רשומות בטבלה אז שזה יציג אותם ב10 דפים
    מישהו יודע איך עושים את זה? תודה מראש

שלח תשובה