שאלה למתכנתי asp.net

Adidi70

New member
שאלה למתכנתי asp.net

כידוע ado.net מספק לנו מבחר של אובייקטים לשימוש עם האפילקציה שלנו. השאלה שלי היא מתי בעיקר עושים שימוש באובייקטים DataSet ו DataTable ובכלל לשם מה הם טובים - האם לא עדיף כמעט תמיד להשתמש במקבילה של ה ado אובייקט ה dataReader ? הבנתי שה DataSet ו DataTable עובדים על הנתונים שהם באופן מנותק מהמסד עצמו ואז אם רוצים לעדכן אותם או משהו צריך לעשות עוד פעולות בקוד - לא יותר נוח להתשמש רק עם ה reader שעובד על הנתונים מהמסד ישירות ?
 
חס וחלילה

ה-Datatable זה אחד האובייקטים היותר שימושיים, עושים הרבה דברים בזכרון ואז שולחים ל-DB. ובכלל, מי אמר שהנתונים שיש לך שם באון מה-DB? אפשר גם למלא אותו "ידנית". ה-DataSet יכול להכיל יותר מ-DataTable אחד ושומר גם נתונים על הקשרים ביניהן (DataRelations) וגם, הינו אחד האובייקטים היותר שימושיים שראיתי ב-.Net
 

Adidi70

New member
איך אתה משתמש בהם באתרים רגילים

ב asp רגיל רוב השימוש היה לשאוב מידע מה db לתוך דפי ה html - לשימוש כזה (שזה אני חושב רוב השימושים) לא עדיף להשתמש רק ב reader אתה מוכן לתת לי לדוגמא לשימוש שלך נרחב באובייקטים האלה ?
 

אסף להב

New member
הסבר קצר

אופן העבודה עם נתונים ב DOTNET שונה לחלוטין מאשר היה בעבר. ה Dataset הוא מאין מבנה אשר מסוגל להכיל בתוכו מספר טבלאות נתונים ואפילו מסוגל ליצור קישרי גומלין ביניהן. בדיוק כמו שנעשה במאגרי נתונים במטרה לשמור על תקינות נתונים, ובכדי לבצע שליפות נתונים נוחות של נתונים מקושרים מטבלאות שונות. ה Dataset וכמו כן Datataables אינם מקושרים למאגר נתונים. את הקישור למאגרי הנתונים מבצעים ע"י איבייקטי DataAdapters (SQLDataadapter לדוגמא בעבור SqlServer.) כאשר ה DataAdapter מקבל מופע (Instance) של Connection אשר מגדיר לאיזה מאגר נתונים לבצע את הקישור. את הגדרת השאילתה ניתן לבצע בעזרת אובייקט Command (לדוגמא SqlCommandבעבור SqlServer).
 

Adidi70

New member
כאילו דה ?!....

זה בדיוק מה שהסברתי בהסבר שלי אני יודע לשם מה כל אובייקט משמש השאלה שלי באופן כללי היא מתי בעיקר משתמשים באובייקטים האלה בבניית אתרים סטנדרטיים כולנו יודעים שב asp יש שיטות עבודה קבועות(פחות או יותר) לגבי איחזור נתונים וביצוע שאילתות עליהם מכל סוג השאלה שלי מהם (שוב - בקווים כלליים ) שיטות העבודה ב Asp.net באתרים סטנדרטיים... בתודה
 

adam222

New member
dataReader וחסרונותיו אל מול DT

ובכן ה-Reader הוא קדימה בלבד, כלומר לא ניתן לדפדף אחורה, לעומת ה-dataTable שניתן לדפדף לכל כיון אפשרי + ניתן לעדכן עליו נתונים, להוסיף עמודות, להוסיף שורות ועוד...
 

adam222

New member
אבל מצד שני היתרון שלו

הוא במהירות - טעינה ודיפדוף... הכל תלוי במה אתה צריך.
 

Adidi70

New member
מי שמע על דפדוף אחורה

אני לא זוכר אי-פעם שב asp נתקלתי בצורך לדפדף אחורה עם ה recordset שלי - תמיד הצגתי את המידע שלי עם לולאה שרק רצה קדימה ולגבי מה שאמרת על ה dataTable - שאתה מעדכן נתונים שם זה רק עידכון ב dataTable עצמו לא במסד נתונים של האתר - בשביל לעדכן את כל הנתונים צריך להוסיף עוד כמה שורות קוד
 

adam222

New member
כלומר גם אתה שמעת../images/Emo3.gif

רק שאתה לא מבין את הצורך... לפעמים, אתה רוצה לחזור לתחילת הלולאה ולרוץ עליה שוב.... בקשר לעדכון, "עוד כמה שורות קוד" זה בדיוק הענין השאלה היא בכמה שורות אני גורם ל-DT לשמור לעומת יצירת לולאה\SQL לשמירה.
 
למעלה