שלח תשובה

זירת השאלות

394
צפיות
32
תשובות

שאלה על משתמשים בפורום

,‏ 28 ביולי, 2004

יש לי טבלה של משתמשים בפורום ויש י את הטבלה של הפורום עצמו.
איך אני משלב את טבלת המשתמשים עם טבלת הפורום בצורה הטובה ביותר? (ע"י ה-ID של המשתמש או השם משתמש? ואם ע"י ה-ID איך אני מחליף בין ה-ID של המשתמש לשם משתש עצמו)

תגיות:

32 תשובות

  1. בעיה עם שאילתא
    יש לי את השאילתה הבאה שאמורה לבדוק האם קיים שם משתמש במסד נתונים ששווה לשם משתמש שהמשתמש הקליד למה המשפט הבא לא פועל?

    rs.open "SELECT* FROM regP1 where NName='& namee &'" , conn,3,3,1
    if rs.eof then
    response.redirect("regP2.asp")
    else
    response.redirect("regP1.asp?wrong=1")
    end if

  2. תשנה את השאילתה לזה


    rs.open "select * from regP1 where NName='" & namee & "'" , conn, 3, 3, 1

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

    וקצת יעילות
    לדעתי לא צריך את כל הפרמטרים שיש אחרי פרמטר החיבור זה סתם מעמיס כי ממילא אתה לא משתמש ממש ברקורדסט
    למה אתה שולף את כל הרשומות אתה לא צריך אותן לכן אני מציע שתשלוף רק את רשומת ה-ID (אם קיימת כזו)
    לפני Redirect תסגור חיבורים

  4. אז ככה..
    1. עם הid של המשתמש.
    2. פשוט עושים שאילתה.

    sql="select * from tblUsers where ID=" & ID

  5. אתה מתכוון במסד או בשאילתה?
    במסד זה קשרי גומלין, ובשאילתה זה join.

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

    במסד זה שניהם
    קשרי גומלין לוגית
    JOIN זה מעשית

    הגדרת קשרי הגומלין גורמים בעצם לשף השאילתות של אקסס ליצור JOIN על הטבלאות שנבחרו

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


    אולי מחר (אני עדיין צריך להתמצא בכל העניין הגדול הזה בעצמי )

  8. אולי אני יכתוב.
    אבל אני לא בטוח שאני מכיר את כל הסוגים..
    inner join
    left join
    right join
    ו..?

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

    |חבול| תיקונים
    למה אתה שולף את כל העמדוות אתה לא צריך אותן לכן אני מציע שתשלוף רק את עמודת ה-ID (אם קיימת כזו)

    |חבול| זה מה שקורה כאשר מגיבים אחה"צ 😛

  10. בעיה עם מסדים…
    משום מה יש לי את הERROR הבא הוא מפנה אותי לשורה הזאת:

    rs("groupTime")=time()
    rs("msgDate")=date()
    rs("msgTime")=time()
    rs.update
    rs.close

    הנה ה-ERROR:

    Microsoft JET Database Engine error '80040e21'

    The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.

    /aspyoava/InMsg.asp, line 55

  11. מקונן??
    אז שליפה מ4 טבלאות? לא ידעתי..
    אפשר הסבר קצר לSELF?

  12. מבנה הADO update שלך בסדר,
    אבל העידכון שאתה עושה גורם לכפיליות במסד.

    זה בגלל שאתה להכניס time פעמיים (נראה לי)..

  13. אני מראה את כל קוד ההוספה!

    rs.addnew
    rs("msgSubject")=title
    rs("msgBody")=msg
    rs("levelId")=0
    if grop(0,0)<>"" then
    rs("groupId")=Cint(Cint(grop(0,0))+1)
    else
    rs("groupId")=1
    end if
    rs("groupDate")=date()
    rs("groupTime")=time()
    rs("msgDate")=date()
    rs("msgTime")=time()
    rs.update
    rs.close
    end if
    conn.close
    set conn=nothing

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

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

  15. ERROR שלא נמצא ב-MSDN…………..
    נתקלתי בפרוייקט שלי
    הנה הERROR :

    error '80020009'
    Exception occurred.

    /aspyoava/forum.asp, line 58

    הנה חלק מהקוד כולל שורת הקוד הרלוונטית

    <%  rs.movenext
    if cInt(rs("levelId"))=cInt(0) then %>
      </div>
    <%end if
    loop%>

  16. מה זאת אומרת איחוד בין הטבלה לעצמה?
    ואם עושים תת שאילתה עם Join נוסף מכמה טבלאות שולפים ככה?

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

    ==>
    כנס לפורום בסיסי נתונים בתפוז וקרא קצת את המאמר שלי ותבין
    כבר שלחתי אותו למנהלי האתר

  18. ראיתי
    אבל יש גם cross join, תקרא את התגובה שלי בבסיסי נתונים

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

    ידעתי ששכחתי אחד
    אבל לא משנה בגלל שהוא "פרימיטיבי" והאפקט שלו להבנתי דומה מאוד לשל LEFT

  20. אני הייתי מציין אותו..
    ולמרות שהוא דומה לleft join עדיין יש כאלה שמשתמשים בו.
    ולא כתבת על שאילתות Join מקוננות.

  21. אני גם כותב מאמר..
    בקרוב (כשאני יגמור) אני יעלה אותו לבסיסי נתונים שייראו אם הכל נכון..

שלח תשובה