שלח תשובה

זירת השאלות

708
צפיות
4
תשובות

עזרה בכתיבת שאילתה

,‏ 28 בספטמבר, 2009

אהלן,
אני קצת הסתבכתי בלכתוב שאילתה (שאמנם נראית די פשוטה), אבל משום מה היא לא מסתדרת לי.

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

Session("name")=1

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

המטרה היא שלי היא לבדוק במסד הנתונים ברשומות שאם יש התאמה בין המס' ששמור בסיישן (זיהוי המשתמש) שווה למס' של הרשומה- רק אז הוא יוכל לערוך את זה.
ז"א- שכל משתמש יוכל לערוך את הפריטים שלו.
ניסיתי לעשות שאילתה שבודקת שאם


if rs("usercode")<>session("name") then
response.write("אינך מורשה לערוך פריטים שאינם שלך")
response.end
end if

אך משום מה, על כל הפריטים הוא כותב זאת- גם אם הבדיקה אינה נכונה.

עזרתכם בנושא.

תודה,
חגי

תגיות:

4 תשובות

  1. vsystems הגיב:

    תנסה לשמור את הIF בסטרינג
    תדפיס אותו ותבדוק אם אכן זה שונה או שווה אחד לשני,
    בנוסף יכול להיות שאתה צריך לעשות INT לשניהם כי יכול להיות שאחד מהם זה TEXT והשני זה מספר.


    Dvir Levanon
    Web Site: http://www.vise.co.il
    E-mail:dvir.levanon@gmail.com
    PHP , ASP , ASP.NET C# , PHP SYMFONY FRAME WORK HTML CSS PHOTOSHOP

  2. hagaibll הגיב:

    סליחה על השאלה..
    אבל מה הכוונה בלעשות INT?

    תודה.

  3. samiprogram הגיב:

    INT
    זה פונקצייה שמקבלת ביטוי ומחזירה משתנה מסוג מספר.
    אמנם בASP המערכת לא מחייבת להגדיר טיפוסי משתנים אבל עדיין לכל משתנה יש סוג.
    אז אולי לפני שאתה מכניס משתנה מסוג מספר קצר (Int – integar) פשוט תעביר אותו דרך הפונקצייה INT ככה:
    Session("VarName") = Int(VarName)

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

    SELECT * FROM TableName WHERE UserID = Session("UserCode")

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

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

שלח תשובה