מדריך C# מונחה עצמים

מדריך NET. – מבוא ל- ADO.NET

‏ • John Bryce

ActiveX Data Objects) ADO.NET) הינה ספריה של רכיבים שמטרתם לעבוד עם מידע. השימוש העיקרי של ADO.NET הוא עבודה מול Database לשליפה ועדכון של מידע.

ADO.NET מחולק לשתי גישות עבודה עיקריות:

  • Connected – גישה המאפשרת לעבוד מול DB במצבים בהם אנו יכולים להתחבר ל- DB.
    לדוגמא: מערכת און ליין שכל עדכון מתעדכן מיד ב- DB.
  • Disconnected – גישה המאפשרת לשלוף נתונים מ- DB, לעבוד איתם בתוכנית ובהמשך לסנכרן אותם מול ה- DB. גישה זו מתאימה יותר במקרים בהם אין חיבור רציף ל- DB.
    לדוגמא: מערכת הפצת מוצרים כך שלכל מפיץ יש מכשיר המכיל את סידור העבודה שלו לאותו היום ובזמן העבודה הוא צריך לעדכן מה הוא ביצע. בזמן העבודה הוא נמצא מחוץ למשרד ולכן לא תמיד יש לו חיבור ל- DB המרכזי.

Database provider

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

לדוגמא: DBConnection – מחלקת בסיס להתחברות ל- DB וממנה יורשים SqlConnection לעבודה מול SQL Server ו- OracleConnection לעבודה מול Oracle (וכך לכל סוגי ה- DB).

כל שמות המחלקות הכלליות (אבסטרקטיות) מתחילות ב- DB, כל שמות המחלקות לעבודה מול SQLServer מתחילות ב- SQL וכך הלאה.

כל קבוצת מחלקות כזו שמתאימה לעבודה מול DB מסויים נמצאת בתוך namespace:

  • System.Data.SqlClient – לעבודה מול Microsoft SQL Server
  • System.Data.OracleClient – לעבודה מול Oracle
  • System.Data.OleDb – מתאים לכל סוגי ה- DB, משמש בעיקר לעבודה מול Access
  • ויש כמובן עוד הרבה.

בהמשך נתייחס לעבודה מול Microsoft SQL Server, כך שחשוב להבין ששיטת העבודה דומה מול כל DB שנעבוד מולו.

את הדוגמאות נבצע מול DB לדוגמא בשם NorthWind.

חיבור ל- DB באמצעות ה- Visual studio

ניתן להתחבר ל- DB מתוך סביבת ה- Visual Studio. המטרה היא שבזמן פיתוח נוכל לראות את מצב ה- DB ולעדכן אותו. חיבור זה אינו קשור לתוכנית שלנו ואינו משפיע עליה. בנוסף ניתן בשיטה זו להעתיק אל התוכנית שלנו את ה- connection string שמיצג את פרטי החיבור ל- DB (מיקום, שם, פרטי הזדהות וכד').

יש לגשת לחלון ה- Server Explorer (במידה והוא לא מופיע אפשר להציג אותו מתפריט View) ולהוסיף חיבור חדש ל- DB באמצעות הלחצן Connect to Database:

Connect to Database

בחלון שיפתח יש לבחור:

  • סוג ה- Data source) DB)
  • המיקום שלו – Server name (כתובת IP / שם מחשב)
  • שיטת ההזדהות (Windows / SQL Server)
  • שם ה- DB (בדוגמא שלנו Northwind)
  • בכפתור Advanced ישנם עוד מאפיינים מתקדמים יותר שאפשר לקבוע ל- connection
  • ניתן לבדוק את ה- connection באמצעות הכפתור Test Connection.

Add Connection

לאחר לחיצה על OK יתווסף החיבור לחלון:

Server Explorer

בחלון ה- Properties ניתן לראות את מאפייני החיבור כולל ה- Connection String (ניתן להעתיק אותו משם לתוכנית שלנו. נעשה זאת בהמשך. ):

Properties - Connection String

שמירת ה- Connection String

את ה- connection string נהוג להחזיק במקום אחד בתוכנית, כדי שאם נצטרך לשנות אותו נשנה רק במקום אחד. כמו כן, מומלץ להחזיק את ה- connection string באופן חיצוני לתוכנית כדי שעדכון ב- connection string לא יצריך קימפול של התוכנית מחדש. לכן נחזיק את ה-connection string בקובץ config חיצוני:

הוספת קובץ config מתבצעת דרך Add New Item ובחירה ב-Application Configuration File (אין לשנות את שם הקובץ):

clip_image008

קובץ זה כתוב בפורמט XML ובתוכו ניתן להכניס את ה- connection string בצורה הבאה, כאשר השם הוא שם לבחירתנו שנשתמש בו בהמשך:

<?xml version="1.0" encoding="utf-8" ?>
<
configuration
>
  <
connectionStrings
>
    <
add name="NorthwindConStr"
connectionString="Data Source=.\sqlExpress;Initial Catalog=Northwind;Integrated Security=True"
providerName="System.Data.SqlClient"
/>
  </
connectionStrings
>
</
configuration
>

מתוך התוכנית ניתן לקרוא את ה- connection string מהקובץ לפי השם בצורה הבאה:

string conStr = ConfigurationManager.ConnectionStrings
                 ["NorthwindConStr"].ConnectionString;

חשוב לשים לב שלפקודה זו צריך Reference ל- System.Configuration

בנוסף חשוב לשים לב שלאחר קומפילציה הקובץ יהפוך להיות כשם ה- exe בתוספת הסיומת config. לדוגמא אם שם התוכנית הוא MyApp.exe שם ה- config יהיה MyApp.exe.config. את הקובץ הזה חובה לשים ביחד עם קובץ ה- exe כאשר רוצים להריץ את התוכנית.

תגיות: , , , ,

ליאור זמיר

כיום אני ה- Webmaster של תוכנית החדשנות של HPE Software.לפני כן, הייתי מנהל תחום Webmaster ומרצה בכיר בג'ון-ברייס (במשך 9 שנים) בקורסים לפיתוח ותיכנות באמצעות Microsoft .NET, מולטימדיה, בניית אתרי אינטרנט ואינטראנט. פיתוח הדרכה ומתן ייעוץ טכנולוגי.

תגובות בפייסבוק