- פרק 6 שימוש במאגר נתונים 6.1 תוכן פרק - 6 שימוש במאגר נתונים... 1 מבוא בנית מאגר נתונים הוספת טבלה למאגר הפעולות על בסיס

מסמכים קשורים
HTML - Hipper Text Makeup Language

ייבוא וייצוא של קבצי אקסל וטקסט

ISI

הוספת קישור לאתר אינטרנט תוכן ממשק בדיקת מטלות...3 איחוד אתרי קורסים...5 סל מחזור... 7 חידושים בפעילויות...8 תצורת קורס: כפתורים... 9 פורומים...10 שיפ

מצגת של PowerPoint

WinZIP תוכנה לדחיסת קבצים ספטמבר 2007

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

ת'' מדריך לבעלי תיבה קיימת במופ ומשתמשים ב Outlook 2003 או doc.2007 לפני שניגש להגדיר את תיבת המייל החדשה, נבצע גיבויי של המיילים ופנקס הכתובות מהחשבו

(Microsoft Word - SQL\353\351\345\345\365 \341\361\351\361 \360\372\345\360\351\355 \ doc)

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

אוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד

מדריך לחיפוש במאגר JCR Journal Citation Reports מעודכן לדצמבר 2015 כל הזכויות שמורות לתחום היעץ, אוניברסיטת חיפה, הספריה

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

הכרת משאבי הספרייה קורס מקוון חיפוש במאגרי המידע ו- PubMed Biosis Previews, Zoological Record )לתלמידי החוג למדעי החיים( (Biosis Previews:

מדריך למרצים ומתרגלים 1

מהוא לתכנות ב- JAVA מעבדה 3

סרגל כלים ל-Outlook או לExplorer- מדריך למשתמש

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

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

Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

תכנות מונחה עצמים א' – תש"ע

Slide 1

שאלהIgal : מערכים דו מימדיים רקורסיה:

מבוא לתכנות ב- JAVA תרגול 11

Microsoft Word - Ass1Bgu2019b_java docx

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

PowerPoint Presentation

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

פרויקט שורשים דמות

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

שאלהIgal : מערכים דו מימדיים רקורסיה:

אוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ

מבוא למדעי המחשב

מדריך להתקנת Code Blocks מדריך זה נועד לתאר את תהליך התקנת התוכנה של הקורס "מבוא למחשב שפת C". בקורס נשתמש בתוכנת Code::Blocks עם תוספת )אשף( המתאימה

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

מבוא למדעי המחשב

יום עיון עורכי בקשות להיתרים

פייתון

Microsoft Word - tips and tricks - wave 5.doc

Slide 1

PowerPoint Presentation

ForMenahelHeshbonot

Titre du document en police Sodexo

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

Microsoft Word - sync_LG.doc

תוכן הגדרת שאלת רב-ברירה ]אמריקאית[...2 הגדרת שאלת נכון\לא נכון...8 שאלות אמריקאיות 1

תוכן העניינים

מבוא לתכנות ב- JAVA תרגול 7

Microsoft Word - c_SimA_MoedB2005.doc

מיכפל

PowerPoint Presentation

מסע מדע ו - מסע ברכב שטח ביבשות רחוקות

Microsoft Word IG Lab - Configure Wireless Router in Windows Vista.docx

מדריך להתחלה מהירה Microsoft Project 2013 נראה שונה מגירסאות קודמות, ולכן יצרנו מדריך זה כדי לעזור לך ללמוד להכיר אותו. סרגל הכלים לגישה מהירה התאם אי

מבוא למדעי המחשב

שאלה 2. תכנות ב - CShell

מבוא לאסמבלי

Microsoft PowerPoint - lec10.ppt

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

ex1-bash

PowerPoint Presentation

Microsoft PowerPoint - rec3.ppt

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ

שאלהIgal : מערכים דו מימדיים רקורסיה:

מבוא למדעי המחשב

יצוא לחשבשבת תוכן עיניינים הגדרות - חשבונות בנק...2 הגדרות - הגדרות חשבשבת... 3 הגדרות - כרטיסי אשראי... 4 הגדרות - סוגי הכנסה... 5 יצוא לחשבשבת...6 י

PowerPoint Presentation

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

תרגול 1

תאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה

PowerPoint Presentation

תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

הגנה - שקפי תרגול

PowerPoint Presentation

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

PowerPoint Presentation

שעור 6

תוכן העניינים

פקולטה לחינוך מנהל סטודנטים Beit Berl College الكلية االكاديمية بيت بيرل 20/06/2016 י"ד/סיון/תשע"ו ייעוץ וירטואלי הרכבת מערכת )רישום לקורסים( באמצעות

Slide 1

Microsoft Word B

Tutorial 11

Slide 1

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

נספח להיתר בנייה שלום רב, אנו מברכים אתכם על קבלת ההיתר. נא קראו בעיון את ההנחיות הבאות בטרם תתחילו לבנות. א. ב. ג. ד. ה. תוקפו של ההיתר - 3 שנים מיום

<4D F736F F D20FAE5F1F4FA20ECE7E5E5FA20E3F2FA20ECE2E1E920E3E9F1F720FAEEE5F0E5FA20E6E9F8FA20E4F8F6E72E646F63>

1 בחירת מנועי חיפוש באינטרנט תוצאות החיפושים באינטרנט, תלויות בבחירת מנוע חיפוש מתאים. אמנם גוגל הוא המנוע המוכר ביותר, ובכ"ז, לעתים השימוש במנוע אחר,

תוכנה 1 אביב תשע"ח תרגיל מספר 8 אוספים גנריים ו- framework collection הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת ה

תורת הקומפילציה

תוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגש

סדנת תכנות ב C/C++

Slide 1

People. Partnership. Trust מסלול Free פורטל החינוך מבית U-BTech מסלולים ומחירים חיבור לשירותי Office 365 ללא עלות פורטל התחברות הכולל ממשק למנב"ס ולסי

PowerPoint Presentation

<4D F736F F D20E7E5F7E920E0E9EEE5FA20E1E8E1ECE42E646F63>

תמליל:

- פרק שימוש במאגר נתונים.1 תוכן פרק - שימוש במאגר נתונים... 1 מבוא...1.. בנית מאגר נתונים... 4. הוספת טבלה למאגר... 5.4 הפעולות על בסיס הנתונים - שאילתות...SQL..5 חיבור מאגר הנתונים לתכנית...7. בנית מחלקת השירות 9... DAL.7. הצגת רשימת החברים באתר...11 הצגת רשימת החברים באתר- לפי תנאים...1. מבוא לשמירת מידע לתקופה ארוכה, וכן למידע רב, אי אפשר להסתפק בשיטות שנקטנו עד אתה. יש להשתמש במערכות ייחודיות לניהול מסדי נתונים. מסד נתונים - Base Data הוא מאגר המכיל את כל פרטי המידע של האירגון, בנושא מסוים, ומאפשר למשתמש להוסיף מידע חדש, לעדכן מידע קיים ולשלוף כל פריט מידע קיים, לפי דרישה. ישנן מערכות מסדי נתונים שונות. תוכנות כמו Accsess או שרת נתונים כמו, Sql server. MySql מאגרי הנתונים נשמרים בד"כ בשרתים ייעודיים המאפשרים ניהול תקין של המידע. לכל מסד שם ייחודי משלו ולכל טבלה שם ייחודי משלה. כל טבלה מכילה נתונים הקשורים לוגית זה לזה. המאגר SiteData לדוגמה : טבלת חברים ( נתוני החברים באתר(, טבלת טיולים )נתוני הטיולים המוצעים( טבלת רישום לטיול ( מי נרשם ולאיזה טיול( מספר הטבלאות אינו מוגבל ותלוי בדרישות המערכת. טבלת נתונים שם המסד בדוגמה הוא :.SiteData אנחנו נסתפק בפרוייקט בטבלה אחת : Member טבלה : חברים באתר Member. Email ditapt@bezeqint.net Byear 0891 Password Username ddddd dita שמות השדות )עמודות( כל שורה היא רשומה roni@gmail.com 0881 rrrrr roni של חבר אחד saras@walla.co.il 0881 ss123 Sara 1

הסבר : לכל טבלה יש סכימה המתארת את שמות העמודות וסוגם. ( בדומה להגדרת משתנים ב-.) C# כל שורת נתונים מכונה - רשומה Record -ומייצגת נתונים של ישות אחת. ( חבר במקרה זה ) מאחר ויהיו לנו שורות רבות נרצה בודאי דרך לזהות כל חבר בצורה ייחודית- בד"כ משתמשים במספר ת.ז., אך אנו יודעים כי באתרי אינטרנט "שם המשתמש" הוא שם ייחודי, ואין שני משתמשים באותו שם. לכן העמודה Username תשמש לנו כמפתח ראשי key( ) primary בעזרתו נוכל לזהות שורה בטבלה באופן חד משמעי. מסדי נתונים נשמרים בשרת ( או בשרת נתונים ) וללקוח אין גישה אליהם. המתכנת הוא הכותב את הפקודות הנדרשות לגישה למסד הנתונים לצורך הוספת מידע או שליפת מידע לפי בקשה. בפרויקטים שבהם מרבים לגשת למסד קיימים קבצים מיוחדים האחראים לקשר עם שרת הנתונים המאחסן את המסד. קבצים אלו מרוכזים תחת השם Data Access Layer - DAL שכבת הגישה לנתונים. תסריט א - רישום חבר חדש לאתר הוספת המידע - כתיבה - מתבצעת כאשר משתמש שולח פרטים מטופס הרישום. תסריט ב - התחברות חבר לאתר

קיימות שתי שיטות לעבודה מול מסד נתונים : השיטה הראשונה היא המקושרת - Connected - מתקשרים למסד הנתונים ונשארים מחוברים אליו. דבר זה מבטיח נתונים מעודכנים אבל מגביל את מספר הקשרים שהמסד יכול לספק לכל היישומים הפונים אליו. אנחנו לא נלמד שיטה זו. ( דומה לשיחת טלפון - מחייגים יוצרים קשר הנשמר במשך כל זמן השיחה( השיטה השניה היא לא-מקושרת Disconnected- - היישום פונה למסד הנתונים, מקבל את הנתונים הדרושים לו ומנתק את הקשר. עיבוד הנתונים נעשה ביישום על עותק נתונים שקבל ונמצא אצלו. בסיום העיבוד מתחבר היישום שנית לשרת הנתונים ומעביר אליו את הנתונים המעודכנים. )דומה לפקס - הקשר נשמר רק לצורך העברת המידע. ) אנו נשתמש בגישה זו. סביבת העבודה שלנו.NET מספקת לנו את כל הנדרש להרצת הפרויקט. שרת היישומים הוא ) Internet Information Services ( IIS שהוא שרת אישי המאפשר לנו להריץ במחשב שלנו אתרי אינטרנט שאנחנו מפתחים. ( הוא חלק מהתוכנה( הדף המורץ התיקיה השרת האישי פרוטוקול שרת הנתונים שלנו הוא SQL Server Express 2008 )שאותו התקנתם עם התקנת התוכנה )

. בנית מאגר נתונים.. אנו משתמשים ב SQL Server Express לניהול מאגר הנתונים. ( התוכנה הותקנה עם התקנת ) web developer את המאגר יש לבנות רק פעם אחת..0 פותחים חלון Database Explorer ( מתפריט )view 1. מקש ימני על DataConnection ו בחירה ב- Add connection 1. בחלון שנפתח בוחרים Sql server database file ומאשרים 4. בחלון הבא בוחרים browse 5. מנווטים בחלון שנפתח עד לתיקיה App_Data הנמצאת בפרוייקט.. אם יש מאגר בתקיה בוחרים אותו אחרת כותבים את שם המאגר החדש שם המאגר בסיומת mdf בחלון Database Explorer נקבל את שם הקובץ 4

. הוספת טבלה למאגר לחיצה על הסימן + ליד שם המאגר תפתח את המרכיבים. מקש ימני על Tables ובתפריט שנפתח נבחר להוסיף טבלה חדשה הגדרות התכונות - השדות בטבלה. השדה בטופס אלה הנתונים שנרצה לשמור. השדה במאגר שדה טקסט טקסט-ערך מספרי כפתורי רדיו תיבות בחירה שדה לוגי תיבת רשימה השדה הראשון Username מסומן עם מפתח קטן - סימן שזהו מפתח המיון הראשי של הקובץ - אסור שתהיה כפילות בערכים שלו וכן אינו יכול להיות ריק -.null העמודה - Allow Nulls קובעת אם הנתונים בה הם חובה או אפשר להשאיר ריק.. שמירה של הנתונים ונותנים לטבלה שם משמעותי. שינוי הגדרות הטבלה - מקש ימני על שם הטבלה ובחירה ב- Open Table Definition Show Table Data הכנסת ערכים לטבלה - מקש ימני על שם הטבלה ובחירה ב- 5

תרגיל :. 0. הוסיפו לאתר שלכם מאגר נתונים בשם. SiteData 1. הוסיפו למאגר טבלה בשם Member שתכיל את השדות: שם משתמש, סיסמה, שנת לידה, מנהל, אימייל, ולפחות שני שדות נוספים מהטופס שלכם. 1. הוסיפו ידנית לפחות 4 רשומות של חברים.) Data )Show Table SQL הפעולות על בסיס הנתונים - שאילתות. הפעולות על בסיס הנתונים נכתבות בשפת - SQL זוהי שפת שאילתות.).)query הפעולה הבסיסית היא שליפת נתונים SELECT < column> WHERE <condition> ORDER BY < column> : FROM < table> בחר ( select ) מתוך הטבלה table( ) את כל העמודות )*( בשאילתה. אם נוסיף את - where תנאי לבחירת שורות. הוספת דוגמאות : order by שליפת כל העמודות וכל השורות שלוף את כל שמות והאימייל שלהם שלוף את השמות של החברים ששנת הלידה גדולה מ- 0885 מיון טבלת הפלט לפי שדה מסוים. שלוף את השמות של החברים ששנת הלידה גדולה מ- 0885 וגם חטיבה היא. 1 שימוש באפשרויות השונות של פעולת הבחירה נלמד בהמשך. או את העמודות המופיעות SELECT * FROM Member SELECT username,email FROM Member SELECT username From Member WHERE byear > 1995 SELECT username From Member WHERE byear > 1995 and hativa=2

פעולות נוספות הן : הוספת נתונים - INSERT הוספת רשומה חדשה לטבלה עידכון נתונים - UPDATE עידכון נתוני משתמש. מחיקת נתונים - DELETE מחיקת רשומת משתמש מהטבלה. טכנולוגית ADO מאפשרת לנו להשתמש בפעולות SQL אלו ללא צורך לכתוב אותן ישירות. נלמד בהמשך איך זה מתבצע.. חיבור מאגר הנתונים לתכנית..5 כדי ליצור חיבור בין התכנית למאגר הנתונים יש לספק מספר נתונים : 0. מהו סוג המאגר, והיכן הוא נמצא. 1. לאיזו טבלה במאגר יש לפנות, ומה הפעולה שצריך לבצע. אנו עובדים כנגד שרת הנתונים שלנו Express( ) SQL server בטכנולוגית ADO Object) (Active Data.המספקת לנו אובייקטים לניהול הקשר עם המאגר, העברת הנתונים אל המאגר לשמירה או שליפת נתונים והעברתם לתכנית. using System.Data; בראש הדף נרשום using System.Data.SqlClient; שימוש במרחבי השמות האלה מאפשר לנו להשתמש באובייקטים של.ADO סדר בנית האובייקטים :.0 DataSet )ds( - - אוסף הנתונים לשימוש התכנית..1 SQLconnection )conn( - הקישור למאגר. 1. SQLcommand )cmd( - הפקודה לביצוע על טבלת הנתונים )שליפה,הוספה,עידכון או מחיקה(. ובאיזה קישור להשתמש..4 SQLDataAdapter )adapter( - מבצע את הפעולה. Adapter (cmd) DataSet 1 4 conn ds קובץ תכנית מאגר DataSite 7

ולמה הדבר דומה? נתן לתאר את הקישור והעברת הנתונים בצורה זו : הנתונים נשמרים במאגר הראשי. כאשר זקוקים בתכנית לנתונים בונים מחסן זמני ( ds ), הקישור למאגר (- conn ) הוא הכביש עליו נוסעת המשאית )adapter(. הנהג מקבל את ההוראות cmd( ) מה עליו לעשות. ( להביא מהמאגר, לעדכן את המאגר וכ"ו ). הפרטים אודות המאגר ( שם שרת הנתונים, מאיזה סוג המאגר, מיקום, שם המאגר ) נמצאים במאפיינים של המאגר המאפיין Connection String הסבר : מקור הנתונים הוא שרת, SQLEXPRESS שם המאגר והכתובת הפיזית שלו. Data Source=.\SQLEXPRESS; \דיתה\אינטרנט AttachDbFilename="D:\My Documents net\demodita1\app_data\sitedatabase.mdf"; Integrated Security=True;User Instance=True חישבו : ומה הבעיה במחרוזת חיבור זו? כשמעבירים את האתר ממחשב למחשב משתנה המסלול למאגר ויש לעדכן אותו בקוד. האתר שלנו נמצא בתיקיה אחת ובו נמצאת תיקיה למאגר נכתוב את הפקודה עם המאגר. לקבלת המסלול הפיזי המלא string dbpath = this.mappath("app_data/sitedatabase.mdf"); מחרוזת החיבור תשתנה לצורה הבאה : string ConnectionString = string.format(@"data Source=.\SQLEXPRESS;AttachDbFilename=0;Integrated Security=True; User Instance=True", this.dbpath);.this.dbpath 0 - שימו לב ConnectionString לסימן ולמשתנה

. בנית מחלקת השירות DAL מחלקת השירות אותה נבנה תהיה המקשר בין הטפסים באתר לבין מאגר הנתונים. בכל פעם שנצטרך לפנות למאגר נפנה למחלקה ונפעיל את הפעולה המבוקשת. נוסיף לפרויקט תיקיה חדשה בשם. App_Code בתוך התיקיה נבנה מחלקה )class( חדשה בשם.)Data Access Layer (. DAL.cs ובחלון שנפתח ) DAL Add New Item ונתן לו את השם ( תזכורת : נבחר class לא לשכוח לרשום בראש הדף System.Data; using using System.Data.SqlClient; public class DAL private string dbpath; private SqlConnection conn; private SqlCommand command; private SqlDataAdapter adapter; private string strsql; המאפיינים )משתנים( public DAL(string dbpath) הפעולה הבונה של המחלקה this.dbpath = dbpath; איתחול של האובייקטים הנדרשים לגישה וטיפול במאגר. string ConnectionString = string.format(@"data Source=.\SQLDITA;AttachDbFilename=0;Integrated Security=True; User Instance=True", this.dbpath); conn = new SqlConnection(ConnectionString); command = new SqlCommand(strSQL, conn); adapter = new SqlDataAdapter(command); וכאן יכתבו פעולות נוספות במחלקה... 9

פעולה לשליפת נתונים מהמאגר : נוסיף למחלקה DAL פעולה לשליפת נתונים מהמאגר public DataSet GetDataSet(string strsql) DataSet ds = new DataSet(); command.commandtext = strsql; adapter.selectcommand = command; adapter.fill(ds); return ds; 4 5 1 הפעולה תבצע שליפת נתונים מהמאגר לפי פקודת SQL שנעביר אליה כפרמטר. SELECT( ) DataSet 1. בנית אובייקט.command. עידכון פקודת ה- SQL בתוך אובייקט. עידכון פקודה לביצוע בתוך אובייקט.adapter למילוי ה-. ds הפעלת ה- adapter 4. החזרת. DS.5. הצגת רשימת החברים באתר. הפעולות שיתבצעו : ב. א. בנית הקישור למאגר וכל האובייקטים הנדרשים לשליפת כל הנתונים מטבלת חברים והעברתם למאגר הזמני. ( שימוש ב- ) DAL פקודות HTML להצגת הנתונים בטבלה על המסך. נוסיף לפרוייקט דף חדש ( לא לשכוח לקשר לmaster ) בשם.MemberList הכתיבה מתבצעת בקובץ א. ההכנה : המסלול למאגר הפעלת המחלקה השאילתה ביצוע הפעולה המבוקשת שימו לב: MemberList.aspx.cs מי המפעיל את הפעולה!! GetDataSet בסיום הפעולה המאגר הזמני שלנו public DataSet ds = new DataSet(); protected void Page_Load(object sender, EventArgs e) string dbpath = this.mappath("app_data/sitedatabase.mdf"); DAL dal = new DAL(dbPath); string strsql = "Select * from Member"; ds = dal.getdataset(strsql); ds מכיל עותק של טבלת החברים מהמאגר 11

ב. הצגת הנתונים למשתמש. )בנית הטבלה( נוסיף פעולה חדשה בדף : MemberList.aspx.cs public void ShowList() Response.Write("<table border='1'> <tr>"); Response.Write("<td> משתמש שם </td> <td> סיסמה </td>"); </tr>"); </td> אימייל< Response.Write("<td שורת הכותרת foreach(datarow row in ds.tables[0].rows) Response.Write("<tr>"); Response.Write( "<td>"+ row["username"].tostring() +"</td> "); "); "</td> Response.Write("<td>" + row["passvord"].tostring() + שורת הנתונים Response.Write("<td>" + row["email"].tostring() + "</td> "); Response.Write("</tr>"); Response.Write("</table>"); <% ShowList(); %> ג. הצגת טבלת החברים: בקובץ MemberList.aspx תהיה רק קריאה לפעולה תרגיל :. א. הוסיפו את המחלקה DAL לפרויקט. ב. הוסיפו את הדף MemberList.aspx לפרויקט וכתבו את הקוד הנדרש. ג. הוסיפו בתפריט הראשי קישור לדף זה. ד. דף זה מיועד לחברים בלבד. הוסיפו את הקוד הנדרש. ( פרק 5 סעיף ) 5.5 11

. הצגת רשימת החברים באתר- לפי תנאים.8 שליפת נתונים לפי תנאי : ניתן לסנן את הנתונים המתקבלים ברשימת החברים לפי תנאי. לדוגמה : רק חברים ששנת הלידה אחרי 0895 או נתונים של חבר לפי שמו. אנו נשתמש בפעולה GetDataSet(strSql); של המחלקה DAL אך השאילתה שנפנה אליה תהיה מורכבת יותר. אם במשתנה n נמצא שם המשתמש כפי שהוקלד בקובץ. )שימו לב לגרש הבודד והגרשיים ) string strsql = "Select * from Member Where username='" + n + "'"; השאילתה תחפש בטבלה בעמודה username שנמצאה. אם לא נמצא השם המבוקש יוחזר נתונים. ואם תמצא שם כמבוקש תחזיר את הרשומה ds ריק המכיל רק את הגדרות הטבלה אך ללא כאשר יוצג הדף יוצגו בו אפשרות חיפוש והרשימה המלאה אחרי חיפוש לפי שם למשל, נקבל בדף. ) בדף MemberList.aspx.cs נבצע מספר שינויים : בדומה לטופס הרישום יש לקלוט את הערכים שנשלחו לתוך משתנים. וכמו כן יש לדאוג שהביצוע של השאילתות יתבצע רק בבקשה חוזרת של הדף (this.ispostback)( if התיאור של הקוד : בפעולה : Page_Load אם מצב IsPostBack קלוט נתונים שנשלחו בטופס בנה שאילתה לפי השדה המבוקש בצע את dal.getdataset(strsql) אחרת בנה שאילתה לכל הנתונים בטבלה בצע את dal.getdataset(strsql) 1

השינויים בקוד : א. בקובץ MemberList.aspx נוסיף את הטבלה <center> <br /><br /> <table border="1"> <tr> <td סינון -שאילתות< colspan="2"><b </b></td> </tr> <tr> <td colspan="2"><input type="radio" name="adminchoice" id="c1" value="1" שם לפי</ < td />משתמש </tr> <tr> <td colspan="2"><input type="radio" name="adminchoice" id="c2" value="2" לידה משנת גדול</ </td> </tr> <tr> <td ערך<" colspan="2 input >מבוקש type="text" name="valuechoice" id="valuechoice" /></td> </tr> <tr> <td><input type="submit" "שלח"= value /> </td> <td><input type="reset" "נקה"= value /> </td> </tr> <tr> <td colspan="2"></td> </tr> </table > <% ShowList(); %> MemberList.aspx.cs ב. שינויים בקובץ protected void Page_Load(object sender, EventArgs e) -הכנה // string strsql=""; string dbpath = this.mappath("app_data/ditadb.accdb"); DAL dal = new DAL(dbpath); מחדל ברירת שאילתת // strsql = "Select * From Member "; מהטופס נתונים נשלחו אפ // if (this.ispostback) int choice = int.parse(request.form["adminchoice"]); string n = Request.Form["valuechoice"].ToString(); המתאימה השאילתה בניית -הבחירה פי על// switch (choice) case 1: strsql = "Select * From Member Where Username ='" + n + "'"; break; case 2: strsql = "Select * From Member Where Byear >'" + n + "'"; break; מהמאגר הנתונים שליפת // ds = dal.getdataset(strsql); 1

תרגיל :.. MemberList א. בצעו את השינויים בדף אפשרות נוספת : החיפוש יתבצע בדף חדש בדף SearchData.aspx.cs בפעולה : Page_Load אם מצב IsPostBack קלוט נתונים שנשלחו בטופס בנה שאילתה לפי השדה המבוקש בצע את dal.getdataset(strsql) אחרת בנה שאילתה לכל הנתונים בטבלה בצע את dal.getdataset(strsql).searchdata.aspx דף זה יכיל את טופס החיפוש. נבצע את אותו קוד כמו בדף החברים : אך כדי שרשימת החברים לא תופיע בהרצה ראשונה של הדף נוסיף את התנאי- אם מצב, IsPostBack גם בפעולה שבה אנחנו מכינים את טבלת החברים. public void ShowList() if (this.ispostback) Response.Write("<table border='1'> <tr>"); 14

15