אממ זה נושא ממש כבד ורגיש אבל...
אז אני יסביר לך ADO, ODBC, OLEDB ADO - קיצור של Active Data Object הנה ספריית COM שכוללת בתוכה את נתינת הגישה לנתונים Ole DB בכדי להמנע מכתיבת קוד מיותר עבור עבודה עם כל מסד נתונים ספריית ה- ADO פעלה בגישה דומה ל- (ODBC (Open Database Connectivity באמצעות אספקת ממש יחיד בלי שום קשר לסוג מסד הנתונים איתו אנו עובדים, תוך שימוש במנהלי התקן אשר כל מסד נתונים מספק לנו, והנו התקן הייחודי לו (Driver) רעיון זה היה יעיל ביותר ולכן כמעט לכל מסד נתונים יש מנהל התקן ODBC, ADO גם היא דורשת מנהלי התקן אך מנהלי התקן אלו נקראים Ole DB Providers - ספקי Ole DB, כיום רבים ממסדי הנתונים היותר משומשים/סטנדרטיים הינם בעלי Ole DB Providers ניתן להשתמש ב- ADO כדי להתקשר כמעט עם כל מערכות מסדי הנתונים. הקונסטרוקצייה של ADO מכוונת לכך שהקוד יעבוד רק עם ADO ולא ישירות עם מסד הנתונים עצמו, אפשר לדמות דבר זה כצד שלישי המתווך למסד הנתונים, ומעביר את הפקודות הניתנות משפת התכנות אל מכרגת מסד הנתונים, ADO מספק לנו ממשק תכנות קל לעבודה עם מסד הנתונים. ADO.NET הגישה החדשה לעבודה מול מסד הנתונים והנה העתיד שלאחר ADO/ODBC והיא משמשת אותנו לעבודה עם סביבת נט. האריכטקטורה הנה עדיין במקומה ושלושת השכבות עדיין נמצאות במקומן והם מסודרות כך לפי הסדר: 1) Application 2) ADO - Active Data Object 3) Ole Db Providers המכילה את סוגי מסדי הנתונים לדוגמה: Sybase, Oracle, SQL Server, MySQL 4) Data אך יש הבדל מהותי בין ADO ל- ADO.NET וזה באופן ההתייחסות למסד הנתונים, בנט ישנו המרחב System.Data הנתון לטיפול במסדי הנתונים השונים, ונו מחולק לשתי חלקים שונים, חלק ראשון הכולל את האוסף System.Data.SQLClient ו- System.Data.OleDB האוסף הראשון System.Data.OleDB מאפשר לנו לתקשר עם כל מסד נתונים אשר יש בעבורך OLEDB Provider, OLEDB Provider עבור ODBC שבמצב זה אנו משתמשים במידה וברצוננו להתייחס להתקן אשר נמצא ב- ODBC ואין לו התקן Ole DB Provider ישיר או ODBC אוסף זה הוא שווה ערך לשכבת הגישה לנתונים ב- ADO המקורי. האוסף השני מעוצב לגישה רק עם Microsoft SQL Server והוא System.Data.SQLClient מלבד זה הוא מספק אוסף יכולות דומה לזה שב- System.Data.OleDB. יש להבין ש- ADO.NET יותר מהיר, מאובטח, וגמיש מהארכיטקטורה הישנה. הייתי ממליץ לעבור על כמה דברים לפני עבודה עם האוספים של ADO.NET ואלו הדברים הבאים: 1) SqlConnection 2) SqlDataReader ו- SqlCommand 3) DataSet ו- SqlDataAdapter 4) SqlParameter - דבר המונע את השימוש ב- Dynamic SQL ו- SQL Injections מקןוןה שעזרתי
