ABA


"איך אני עובד עם קשרי גומלין בASP.NET?"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #13759 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13759
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   22:54   07.04.08   
אל הפורום  
  איך אני עובד עם קשרי גומלין בASP.NET?  
 
   ערכתי לאחרונה בתאריך 07.04.08 בשעה 22:55 בברכה, ronen333
 
עשיתי טבלה News וNEWS_REPLAY. כאשר אני רוצה לעשות בעתיד שיוכלו להגיב לכל 'הודעה'.

http://rotter.name/User_files/nor/47fa7b3a7a8d8640.gif

אבל אני לא יודע איך ליישם את זה בASP.NET...
ושאני עשיתי טופס של כתיבת הודעה דרך CommandBuilder הוא אומר לי שזה לא אפשרי ביגלל הקשרי גומלין ואני לא מבין מה הבעיה...
שגיאה:

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.


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


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אממ לא ממש הבנתי את הטבלאות שלך akoka 07.04.08 23:21 1
     אממ אני יודע. ronen333  08.04.08 08:03 2
         זה לא ב ASP.NET lior066 08.04.08 16:42 3
             תבנה את הטבלה שלך ככה: lior066 08.04.08 16:48 4
                 מה זה שונה ממה שאני עשיתי? ronen333  09.04.08 15:45 5
                     זה שונה מאוד.. lior066 09.04.08 17:03 7
                         אממ אווקי אחי, אבל זה מה שעשיתי ronen333  09.04.08 18:22 8
                             אחי לא הבנתי אותך בשיט.. lior066 09.04.08 19:30 9
             שיהיה אז SQL... ronen333  09.04.08 15:45 6

       
akoka

   23:21   07.04.08   
אל הפורום  
  1. אממ לא ממש הבנתי את הטבלאות שלך  
בתגובה להודעה מספר 0
 
   אבל בכללי זה אמור ליהיות יותר בכיוון הזה

News
_______
id
title
content
.....
____________

ובטבלת המגיבים בהנחה שאתה מרשה לרק למשתמשים רשומים להגיב אז זה אמור ליהיות ככה

replays
____________
replay_id
news_id
user_id
title
content
.......
___________

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   08:03   08.04.08   
אל הפורום  
  2. אממ אני יודע.  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 08.04.08 בשעה 08:06 בברכה, ronen333
 
שאלתי איך אני מיישם את זה בASP.NET.
שניסתי להוסיף הודעה זה רשם לי את השגיאה הזאת.

וגם הייתי רוצה לדעת איך אני עושה שיגיבו לכתבה מסוימת.

ד"א אולי ככה אתה תצליח להבין מה עשיתי:

http://rotter.name/User_files/nor/47fafd5f3e6ae8c0.gif


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   16:42   08.04.08   
אל הפורום  
  3. זה לא ב ASP.NET  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 08.04.08 בשעה 16:45 בברכה, lior066
 
זה קשור לשאילתה של ה SQL זה נקרא INNER JOIN פקודות JOIN למינהם...

תברר על זה..

ודרך אגב הקשרי גומלין שלך לא טובים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   16:48   08.04.08   
אל הפורום  
  4. תבנה את הטבלה שלך ככה:  
בתגובה להודעה מספר 3
 
  

NEWS
________
ID
Subject
Msg
UserID


Replay
_________
ID
MSG
USERID
NEWSID


קשרי הגומלין שלך צריך להיות:
News.ID <<< Replaye.NewsID


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   15:45   09.04.08   
אל הפורום  
  5. מה זה שונה ממה שאני עשיתי?  
בתגובה להודעה מספר 4
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   17:03   09.04.08   
אל הפורום  
  7. זה שונה מאוד..  
בתגובה להודעה מספר 5
 
   כי ככה אתה יכול למשוך את כל הרשומות של ההודעות.

תקשיב דבר חשוב מאוד אם לא למדת קשרי גומלין:
* דבר ראשון תתיחס לכל רשומה כאל משפחה כל שהיא.

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

עכשיו כדי לדעת איזה הודעה שייכת לאיזה חדשות , פשוט מאוד אתה צריך לשאול את ההודעה "מי אבא שלך?" כלומר לתת להודעה את התא "ParentID" ואז אתה מושך את כל הילדים שאבא שלהם הוא ההודעה.

אז ככה שאתה שואל "דוד הוא אבא של מי?" ואז ההודעות עונות כיאלו "שלי שלי שלי" אז זה כמו לשאול שאילתה


Select id,msg from Replays where ParentID = X;

וה PARENTID הוא החדשות עצמו


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   18:22   09.04.08   
אל הפורום  
  8. אממ אווקי אחי, אבל זה מה שעשיתי  
בתגובה להודעה מספר 7
 
   ערכתי לאחרונה בתאריך 09.04.08 בשעה 18:24 בברכה, ronen333
 
במקום לקרוא לו PARENT קראתי לו SUBID.
עשיתי 2 שדות SUBID ובינהם יש אותו ID. כאשר NEWS הוא האב ולכל הודעה יש 'אין סוף תגובות'.

ולמה אני לא מצליח להוסיף הודעה בלי קשר לילד?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   19:30   09.04.08   
אל הפורום  
  9. אחי לא הבנתי אותך בשיט..  
בתגובה להודעה מספר 8
 
   דבר שני העבודה שלך לקוייה וחסרת בסיס תיכנותי
אתה נותן שמור בלי קשר , ואחרי זה בפרוייקטים גדולים אתה תשתגע ,

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

אם תפעל כמוני תמיד יהיה לך הצלחה לכל טבלה תן אי די שיהיה מפתח ובסדר עולה תמידי כלומר 1,2,3,4....,N ואז אתה יכול להתנהל הרבה יותר טוב , אם אתה צריך טיפה יותר עזרה אני במסנג'ר [email protected]


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   15:45   09.04.08   
אל הפורום  
  6. שיהיה אז SQL...  
בתגובה להודעה מספר 3
 
   איזה משפט SQL אני עושה בשביל שזה יאפשר?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net