מתחברים למסד נתונים היכרות עם ADO.Net.

Slides:



Advertisements
Similar presentations
1 Introducing SQL Server  A Relational DBMS  A Powerful Client/Server DBMS Utilities range from:  Simple Database Creation/Maintenance To  Datawarehousing,
Advertisements

Introduction to Database Processing with ADO.NET.
1 ADO.NET. 2.NET Framework Data Namespaces System.Data –Base set of classes and interfaces for ADO.NET System.Data.Common –Classes shared by the.NET Data.
ADO. NET. What is “ADO.Net”? ADO.Net is a new object model for dealing with databases in.Net. Although some of the concepts are similar to the classical.
Programming in ADO.NET: Data-Centric Applications and ADO.NET Original copyright by Microsoft, 2002, with minor modifications by Dan Eaves, 2005.
SQL Azure Database Windows Azure SQL Database is a feature-rich, fully managed relational database service that offers a highly productive experience,
C# programming with database Basic guideline. First step Install SQL Server 2008/2010 (Professional edition if possible) Install Visual Studio 2008/2010.
ODBC, OLE DB, and ADO Introduction Dr. Ron Eaglin.
ADO.NET A2 Teacher Up skilling LECTURE 3. What’s to come today? ADO.NET What is ADO.NET? ADO.NET Objects SqlConnection SqlCommand SqlDataReader DataSet.
1 ASP.NET ASP.NET Rina Zviel-Girshin Lecture 4. 2 Overview Data Binding Data Providers Data Connection Data Manipulations.
Developing Web Applications Using Microsoft ® Visual Studio ® 2008.
Accessing SQL Server and OLE DB from.NET Svetlin Nakov Telerik Corporation
A Simple Introduction. What is ADO.net? First the word ADO stands for ActiveX Data Objects And it is an integral part of.Net Framework of Microsoft hence.
Databases and Data Access  Introduction to ADO.NET  ADO.NET objects  ADP.NET namespaces  Differences between ADO and ADO.NET.
ADO.Net CS795. What is ADO.Net? Database language spoken by managed applications ADO.net database accesses go through modules: data providers –SQL Server.Net.
.NET Data Access and Manipulation ADO.NET. Overview What is ADO.NET? Disconnected vs. connected data access models ADO.NET Architecture ADO.NET Core Objects.
ASP.NET Rina Zviel-Girshin Lecture 5
Module 9: Accessing Relational Data Using Microsoft Visual Studio.NET.
Session 8: ADO.NET. Overview Overview of ADO.NET What is ADO.NET? Using Namespaces The ADO.NET Object Model What is a DataSet? Accessing Data with ADO.NET.
Module 7: Accessing Data by Using ADO.NET
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Introduction to ADO.NET ADO.NET - Lesson 01  Training time: 10 minutes  Author:
Presented by Joseph J. Sarna Jr. JJS Systems, LLC
An Introduction to ADO.Net Marmagna Desai.NET Seminar, Fall-2003.
ADO.NET connections1 Connecting to SQL Server and Oracle.
 It is the primary data access model for.Net applications  Next version of ADO  Can be divided into two parts ◦ Providers ◦ DataSets  Resides in System.Data.
1 Data Classes- DataView DataGridView Control. Objectives 2  Data Class  DataAdapter  DataReader  DataSet  DataTable  DataView  DataGridView Control.
1 11/10/05CS360 Windows Programming ADO.NET. 2 11/10/05CS360 Windows Programming ADO.NET  Behind every great application is a database manager o Amazon.
Why ADO.NET Not your father’s Data Access.
Distributed Database Systems INF413. ADO.NET is a set of classes that comes with the Microsoft.NET framework to facilitate data access from managed languages.
Accessing Data with Microsoft Visual C# Applications.
Why ADO.NET Not your father’s Data Access.
ADO.Net CS795. What is ADO.Net? Database language spoken by managed applications ADO.net database accesses go through modules: data providers –SQL Server.Net.
1 11/15/05CS360 Windows Programming ADO.NET Continued.
HNDIT Rapid Application Development
DataSets Demystified. Who I am Shawn Wildermuth Senior Consultant with Magenic Technologies ( C# MVP INETA.
ADO.NET FUNDAMENTALS BEGINNING ASP.NET 3.5 IN C#.
Module 4 Introduction ADO.NET.
C# .NET Software Development
Active Data Objects Using.Net ADO.Net Farooq Ahmed Amna Umber Summayya Shehzad.
Querying Information in a Database. CONTENTS Relational Database Systems Creating Database with SQL Server Reading Data with LINQ Requirements to Get.
Data Access. ADO.NET ADO.NET is the primary library for building database solutions within the.NET Framework. ADO.NET does not replace ADO. ADO and OLEDB.
.NET Data Access and Manipulation
Common SQL keywords. Building and using CASE Tools Data Base with Microsoft SQL-Server and C#
ASP.NET Programming with C# and SQL Server First Edition
Introduction to ADO.NET
DB Apps Introduction Intro to ADO.NET SQL SoftUni Team DB Apps Intro
Introduction to Database Processing with ADO.NET
ADO.NET Fundamentals.
Introduction to Database Processing with ADO.NET
ADO.NET and Stored Procedures
ADO.NET Framework.
.NET Data Access and Manipulation
Distributed Database Systems
How to Create Login Form using vb.net and SqlServer Database
Lecture 6 VB.Net SQL Server.
Overview of Data Access
DataSet и SqlDataAdapter
SQL commands from C# and ASP.net
Overview of Data Access
ADO.Net and Stored Procedures
Tonga Institute of Higher Education
Bài 5: ADO.NET 5.1. Khái niệm 5.2. Các lớp và không gian tên cơ bản của ADO.NET 5.3. Thao tác với dữ liệu kết nối – Connected 5.4. Thao tác với dữ liệu.
برنامه نویسی سیستم های شی گرا
class PrintOnetoTen { public static void main(String args[]) {
E-commerce Applications Development
04 | Data Acess Technologies
M S COLLEGE OF ART’S, COMM., SCI. & BMS Advance Web Programming
Introduction to Database Programming through ADO. NET
ADO.NET Fundamentals.
Presentation transcript:

מתחברים למסד נתונים היכרות עם ADO.Net

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

ADO.Net ADO.Net הוא שם של אוסף מחלקות שמשתמשים בהם כדי לגשת לנתונים המרוכזים בפורמט טבלאי. ניתן לקשר מסדי נתונים טבלאים דוגמאת: SQL Server, אקסס (של מיקרוסופט) , Oracle, MySQL וכו'. הוא חלק מחבילת ה.Net- ויכול לשתלב בכל הסביבות ה.Net- כולל כמובן C#

מטרות ADO.Net גישה פשוטה לנתונים באירגון יחסי או לא יחסי (Relational) מאפשרת הרחבה כדי לתמוך ביותר מקורות מידע מאשר הטכנולוגיות הקיימות מאפשרת גישה רב שכבתית ברחבי האינטרנט איחוד הטיפול ב- XML וטבלאות רלציוניות

סקירת המחלקות של ADO.Net 2 קבוצות מחלקות מחלקות הצרכן מחלקות הספקים

אובייקטים מסוג ספקים אלו קבוצות האובייקטים הקשורים ספציפית לספק המידע שלנו. סוג האובייקט נקבע על ידי סוג מקור המידע שנעבוד איתו. דוגמא: אם מקור המידע שלנו היא SQL Server אזי נעבוד עם קבוצת אובייקטים שונה לזו שאם נעבוד עם מסד נתונים של Access * כדי לעבוד עם מקור מידע חדש, נצטרך לספק קבוצת מחלקות שפיזית יודעות לתקשר עם מקור המידע (שומר על גמישות ויכולות הרחבה)

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

פירוט אובייקטים מסוג ספקים Connection Object : הוא האובייקט הראשון שתשתמש בו והוא מספק את הקשר הממשי. נצטרך לייצור אותו לפני שנוכל לעבוד עם שאר האובייקטים מהקבוצה הזו. שם המחלקה : עבור Sql Server: SqlConnection, עבור אקסס :OledbConnection Command Object: כאן אתה נותן לו את ההוראה של מה לעשות (כגון : select * from tbl) CommandBuilder object: מספק לנו אוטומטית את כל השירותים הדרושים לניהול זרימת המידע DataReader Object: אובייקט מהיר וקל לשימוש שקורא (בלבד) מתזרים (stream) מידע. הוא מספק את המידע בקלות ובמהירות DataAdapter:זוהי מחלקה כללית שמבצע מספר פעולות למקור מידע כמו עדכון נתונים , מילוי ה-data set וכו'

פירוט אובייקטים מסוג צרכנים DataSet: הוא "מלך" הקבוצה והוא מרכז בתוכו אוסף של טבלאות וקשרים גומלין בין הטבלאות. בתוך ה-DataSet אנחנו יכולים לשמור יותר מטבלה אחת ויותר מקשר אחד! DataTable Object : הוא מייצג טבלה אחת ב-DataSet. למחלקה זו יש אוסף אובייקטים נוספים: DataColumn Object (עמודות של הטבלה) ו- DataRow (שורות הנתונים שהם מאורגנים לפי אוסף ה-DataColumns בטבלה) DataRelation Object: הוא מייצג את קשרי הגומלין ומקשר בין עמודות בשתי טבלאות (לאו דוקא שונות) כאשר בטבלה אחת העמודה מוגדרת כמפתח ראשי וטבלה השניה העמודה מוגדרת כמפתח זר

Namespace של קבוצות data כדי להקל את העבודה ממולץ להוסיף הפניה לקבוצת המחלקות שנשתמש במהלך הפרוייקט. קבוצת המחלקות תלויה בסוג המסד נתונים שאיתו אנחנו עובדים. אנחנו נעבוד עם ה- SQL Server לכן נצהיר בתחילת המחלקה using System.Data; using System.Data.SqlClient; אם נעבוד עם אקסס נוסיף: using System.OleDb;

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

הצגת נתוני טבלה ב-Console נפתח פרוייקט חדש ונקרא לו dataReaderTest נגדיר מחלקה ערים לפי ההגדרות של הטבלה: קוד עיר ושם עיר. class City { private int id; private string name; public City(int id, string Name) Id = id.ToString(); Name = name; } public string Id set { if (int.TryParse(value, out this.id) == false) this.id = 0; get { return this.id.ToString(); } public string Name set { this.name = value; } get { return this.name; } public override string ToString() return Id + ": " + Name;

קריאת הערים class Program { static void Main(string[] args) SqlConnection con = new SqlConnection( @"Data Source=TOBY-HOME-PC\SQLEXPRESS; Initial Catalog=Testing;Integrated Security=True;Pooling=False"); con.Open(); SqlCommand command = con.CreateCommand(); command.CommandText = "Select * From City"; SqlDataReader reader = command.ExecuteReader(); City city; while (reader.Read()) city = new City((int)reader[0],(string)reader[1]); Console.WriteLine(city); } reader.Close(); con.Close(); Console.ReadKey();

ניתוח התוכנית הגדרנו אובייקט מסוג SqlConnection וקראנו לו con. SqlConnection con = new SqlConnection( @"Data Source=TOBY-HOME-PC\SQLEXPRESS; Initial Catalog=Testing;Integrated Security=True;Pooling=False"); con.Open(); הגדרנו אובייקט מסוג SqlConnection וקראנו לו con. איתחלנו אותו באמצעות ה- Connection string המתאר את שם המסד נתונים. ניתן לקבל את פירוט ה-connection string מתוך טבלת המאפיינים (properties) של מסד הנתונים לאחר שאיתחלנו אותו, אנחנו פותחים אותו לשימוש!

SqlCommand command = con.CreateCommand(); command.CommandText = "Select * From City"; כעת ניצור את ההוראה ה-Command Object. אנחנו יכולים לבקש מהאובייקט Connection ליצור לנו את האובייקט command . עכשיו נגדיר ל- command מה הוא צריך לעשות: “select * from city” – להעביר את כל הנתונים מתוך הטבלה! SqlDataReader reader = command.ExecuteReader(); עכשיו לאחר שהגדרנו מהיכן אני רוצה לקחת את הנתונים ומה הנתונים שאני רוצה לקחת, נגדיר את ה- DataReader שהוא יהיה אחראי למשוך את הנתונים, באופן רציף, שורה אחר שורה מתוך מסד הנתונים. הקשר שלנו עם מסד הנתונים הוא עד לסוף קריאת הנתונים. הקשר הוא סדרתי (כיוון אחיד ... קדימה) והוא לקריאה בלבד!

ניתן לרשום גם reader[“cityId”] כלומר את שם העמודה. while (reader.Read()) { city = new City((int)reader[0],(string)reader[1]); Console.WriteLine(city); } באמצעות השיטה Read של המחלקה DataReader נוכל למשוך את כל השורות שביקשנו מתוך הטבלה ולהשתמש בנתונים. האובייקט של ה-DataReader מחזיק את הפניה לשורה מסיימת ומאפשר לי גישה לנתונים. יש לשים לב שכל נתון (עמודה בתוך השורה) הוא מסוג Object ולכן צריך לעשות המרה (int) reader[0] כלומר העמודה הראשונה עוברת המרה ל-int ניתן לרשום גם reader[“cityId”] כלומר את שם העמודה. לבסוף נסגור את ה-DataReader ואת ה- Connection. reader.Close(); con.Close();

מבנה המחלקות אנחנו מחלקים את הפרויקט למספר קבוצות של מחלקות: מחלקות ה- Data במקרה שלנו: מחלקת City מחלקת ה-Business Logic כאן נרכז את כל המחלקות המטפלות בכללי המערכת (כולל המחלקות המושכות ומעדכנות את הנתונים במסד הנתונים) מחלקות התצוגה המחלקות המטפלות בטפסים

המודל