SlideShare a Scribd company logo
LẬP TRÌNH TRÊN
MÔI TRƯỜNG WINDOWS
        ***
      ADO.NET




                    Phạm Minh Tuấn
             pmtuan@fit.hcmuns.edu.vn
Nội dung trình bày

   Giới thiệu
   Connected Model
   Disconnected Model




Khoa CNTT - ĐH KHTN   01/10/13 2
Giới thiệu

   ADO.NET là một tập các lớp thư viện được sử dụng
    để truy xuất dữ liệu
                      Thêm/xóa/sửa dữ liệu

                            Đọc dữ liệu

 Chương trình
                                             CSDL, XML…
   Chiến lược truy xuất dữ liệu
     Connected Model
     Disconnected Model




Khoa CNTT - ĐH KHTN         01/10/13 3
Giới thiệu

   Connected Model




     Chương trình

   Disconnected Model




      Chương trình


Khoa CNTT - ĐH KHTN   01/10/13 4
Giới thiệu

   .NET Data Provider
     Dùng để kết nối đến CSDL, thực hiện các câu lệnh, và
      nhận kết quả trả về.
     Hiện có 4 loại data provider chính

                            .NET Data Provider

                                SQL Server

                                  Oracle


                                  OLE DB
                      ADO.NET
        Application

                                  ODBC




Khoa CNTT - ĐH KHTN             01/10/13 5
Giới thiệu

   .NET Data Provider
       Các thành phần của .NET Data Provider
                            .NET Data Provider
                     ???Connection         ???DataAdapter
                                             SelectCommand
                      ???Command
                                             InsertCommand

               Parameters   ???Parameter
                                             UpdateCommand


                                             DeleteCommand
                     ???DataReader


Khoa CNTT - ĐH KHTN          01/10/13 6
Connected Model

   Kết nối vào CSDL
   Thực hiện lệnh
     Thêm/Xóa/Sửa dữ liệu
     Đọc dữ liệu từ CSDL




Khoa CNTT - ĐH KHTN    01/10/13 7
Connected Model

   Kết nối vào CSDL
       Các lớp phụ trách kết nối
          ODBCConnection

          OleDBConnection

          SqlConnection

          OracleConnection

       Thuộc tính quan trọng
          ConnectionString:   xác định nguồn dữ liệu cần kết nối
       Phương thức quan trọng
          Open:  mở kết nối
          Close: đóng kết nối




Khoa CNTT - ĐH KHTN            01/10/13 8
Connected Model

   Kết nối vào CSDL
     Ví   dụ: kết nối vào Access
    OleDbConnection cnn = new OleDbConnection();
    cnn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;
                             Data Source=hocsinh.mdb";
    cnn.Open();

    //Các lệnh cần thực hiện

    cnn.Close();




Khoa CNTT - ĐH KHTN        01/10/13 9
Connected Model

   Thực hiện lệnh
       Các lớp phụ trách
            ODBCCommand
            OleDBCommand
            SqlCommand
            OracleCommand
       Thuộc tính quan trọng
            Connection: xác định CSDL sẽ thực hiện thao tác
            CommandText: xác định thao tác cần thực hiện
            Parameters: xác định các tham số lệnh
       Phương thức quan trọng
          ExecuteReader: phù hợp lệnh Select trả ra 1 bảng dữ liệu
          ExecuteScalar: phù hợp lệnh Select trả ra 1 giá trị
          ExecuteNonQuery: phù hợp lệnh Insert, Delete, Update



Khoa CNTT - ĐH KHTN             01/10/13 10
Connected Model

   Thực hiện lệnh
       Thêm/Xóa/Sửa dữ liệu
Ví dụ:
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = cnn;
cmd.CommandText = "insert into Hocsinh values(5,'Lê Văn A','227
                        Nguyễn Văn Cừ','11/12/2006',5,7)";
cmd.ExecuteNonQuery();




Khoa CNTT - ĐH KHTN       01/10/13 11
Connected Model
   Ví dụ
      OleDbCommand cmd = new OleDbCommand();
      cmd.Connection = cnn;
      cmd.CommandText = "insert into Hocsinh
                            values(@Ma,@Ten,@Diachi,@NgaySinh,@Toan,@Van)";

      OleDbParameter para=cmd.Parameters.Add("@Ma",OleDbType.Integer);
      para.Value=1;
      para=cmd.Parameters.Add("@Ten",OleDbType.VarWChar);
      para.Value="Lê Văn A";
      para=cmd.Parameters.Add("@Diachi",OleDbType.VarWChar);
      para.Value="Nguyễn Văn Cừ";
      para = cmd.Parameters.Add("@Ngaysinh", OleDbType.Date);
      para.Value = new DateTime(1982,10,1);
      para=cmd.Parameters.Add("@Toan",OleDbType.Integer);
      para.Value=5;
      para=cmd.Parameters.Add("@Van",OleDbType.Integer);
      para.Value=7;

      cmd.ExecuteNonQuery();

Khoa CNTT - ĐH KHTN            01/10/13 12
Connected Model

   Thực hiện lệnh
       Đọc dữ liệu từ CSDL
         Dùng lệnh ExecuteReader hoặc ExecuteScalar
         Lớp XXXDataReader
              Read
              GetXXX           BookID   BookName   Author

              IsDBNull           1      Book 1     Author 1

                                  2      Book 2     Author 2

                                  3      Book3      Author 3




Khoa CNTT - ĐH KHTN       01/10/13 13
Connected Model

   Thực hiện lệnh
     Đọc dữ liệu từ CSDL
     Ví dụ



OleDbDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
    if (!rd.IsDBNull(3))
          Console.WriteLine(rd.GetDateTime(3));
}


Khoa CNTT - ĐH KHTN    01/10/13 14
Disconnected Model

                                              Ánh xạ
          DataSet
                    DataSet
                                                       Data Source
 Tables                     DataTable

                    Columns      DataColumn



                     Rows         DataRow




Relations      DataRelation



Khoa CNTT - ĐH KHTN               01/10/13 15
Disconnected Model
   DataTable
      TableName: tên bảng.
      Columns: danh sách các cột (DataColumn).
      Rows: danh sách các mẫu tin (DataRow).
      PrimaryKey: danh sách các cột làm khóa chính (DataColumn).
      NewRow(): tạo một mẫu tin mới.
   DataColumn
      ColumnName: tên cột.
      DataType: kiểu dữ liệu cột.
   DataRow
      RowState: trạng thái của mẫu tin (Added, Modified, Deleted,
       Unchanged…).
      Toán tử [ i ]: truy xuất đến cột i của mẫu tin.
      Delete(): đánh dấu xóa mẫu tin.




Khoa CNTT - ĐH KHTN       01/10/13 16
Disconnected Model
                         DataAdapter
                                       SelectCommand

                                       InsertCommand
   DataSet
                                   UpdateCommand
                                                           Data Source
                                       DeleteCommand




         - Fill: dùng SelectCommand lấy dữ liệu từ Data Source đổ vào
         DataSet.
         - Update: dùng InsertCommand, UpdateCommand và
         DeleteCommand cập nhật dữ liệu trong DataSet vào Data
         Source.



Khoa CNTT - ĐH KHTN          01/10/13 17
Disconnected Model

   Thực hiện lệnh
     Đọc dữ liệu từ CSDL
     Xử lý dữ liệu

     Cập nhật dữ liệu xuống CSDL




Khoa CNTT - ĐH KHTN   01/10/13 18
Disconnected Model

  Đọc dữ liệu từ CSDL
OleDbDataAdapter da = new OleDbDataAdapter(
                                "select * from HocSinh", cnn);
DataSet dsHocSinh=new DataSet();
da.Fill(dsHocSinh, "HocSinh");
for (int i = 0; i < dsHocSinh.Tables["HocSinh"].Rows.Count; i++)
{
     listBox1.Items.Add(
          dsHocSinh.Tables["HocSinh"].Rows[i]["HoTen"].ToString()
                          );
}


Khoa CNTT - ĐH KHTN      01/10/13 19
Disconnected Model
   Xử lý dữ liệu
        Thêm dữ liệu
         DataRow newRow;
         newRow=dsHocSinh.Tables["HocSinh"].NewRow();
         newRow[0] = 10;
         newRow[1] = "Lê Thị B";
         dsHocSinh.Tables["HocSinh"].Rows.Add(newRow);
        Xoá dữ liệu
         dsHocSinh.Tables["HocSinh"].Rows[0].Delete();
        Thay đổi dữ liệu
         DataRow row = dsHocSinh.Tables["HocSinh"].Rows[1];
         row.BeginEdit();
         row[0] = 11;
         row[1] = "Lê Thị C";
         row.EndEdit();


Khoa CNTT - ĐH KHTN            01/10/13 20
Disconnected Model

   Cập nhật dữ liệu xuống CSDL
    OleDbCommandBuilder buider =
                        new OleDbCommandBuilder(da);

    da.Update(dsHocSinh, "HocSinh");




Khoa CNTT - ĐH KHTN    01/10/13 21
Khoa CNTT - ĐH KHTN   01/10/13 22
   Slide có sử dụng lại bài giảng về ADO.NET của
    Thầy Nguyễn Minh Huy




Khoa CNTT - ĐH KHTN   01/10/13 23

More Related Content

What's hot

Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
MasterCode.vn
 
00 overview of_sql_server
00 overview of_sql_server00 overview of_sql_server
00 overview of_sql_server
thai
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
truong le hung
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
MasterCode.vn
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
MasterCode.vn
 
Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#
MasterCode.vn
 
Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#
An Nguyen
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
ledoanduc
 
Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#
Trung Thành Nguyễn
 
Slides1
Slides1Slides1
Slides1
trucmt2000
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
duongtam1506
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
MasterCode.vn
 
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệuBài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệuzzsunzz
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
MasterCode.vn
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
pisu412
 
1 giới thiệu-cài đặt oracle
1 giới thiệu-cài đặt oracle1 giới thiệu-cài đặt oracle
1 giới thiệu-cài đặt oracle
hoangdinhhanh88
 

What's hot (17)

Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
 
00 overview of_sql_server
00 overview of_sql_server00 overview of_sql_server
00 overview of_sql_server
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#
 
Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
 
Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#
 
Slides1
Slides1Slides1
Slides1
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
 
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệuBài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
 
Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 5
 
1 giới thiệu-cài đặt oracle
1 giới thiệu-cài đặt oracle1 giới thiệu-cài đặt oracle
1 giới thiệu-cài đặt oracle
 

Viewers also liked

11 texto language_history
11 texto language_history11 texto language_history
11 texto language_historyelarae
 
Portfolio 2011-2012
Portfolio 2011-2012Portfolio 2011-2012
Portfolio 2011-2012tn_smiley
 
ED271-Technology Proficient Professional
ED271-Technology Proficient ProfessionalED271-Technology Proficient Professional
ED271-Technology Proficient Professionalhelenjoyjose
 
J. bukowczan dopalacze v1.0
J. bukowczan dopalacze v1.0J. bukowczan dopalacze v1.0
J. bukowczan dopalacze v1.0Jerzy_BN
 
BB Games, presentazione
BB Games, presentazioneBB Games, presentazione
BB Games, presentazione
Matera2019
 
Informe derecho internacional privado temas 2,3,4
Informe derecho internacional privado temas 2,3,4Informe derecho internacional privado temas 2,3,4
Informe derecho internacional privado temas 2,3,4
Rebeca Guédez
 
Tieu luan luat kt (lam phat)
Tieu luan luat kt (lam phat)Tieu luan luat kt (lam phat)
Tieu luan luat kt (lam phat)
Quan Hoang Minh Quan
 
IE university application
IE university applicationIE university application
IE university application
Deni Kazandzhyan
 
Nota seminar kesempurnaan solat
Nota seminar kesempurnaan solatNota seminar kesempurnaan solat
Nota seminar kesempurnaan solatImran
 
Ficointerviewquestionsandanswers
FicointerviewquestionsandanswersFicointerviewquestionsandanswers
Ficointerviewquestionsandanswerskaran bhagat
 
исследовательская работа
исследовательская работаисследовательская работа
исследовательская работаDemanessa
 
Linee strategiche 2012 2014
Linee strategiche 2012 2014Linee strategiche 2012 2014
Linee strategiche 2012 2014Michele Alberto
 
Business Process Consultant
Business Process ConsultantBusiness Process Consultant
Business Process Consultanthmckinney704
 
The automobile industry1__1_
The automobile industry1__1_The automobile industry1__1_
The automobile industry1__1_Sumeet Jayswaal
 
9213098616 Chintels Paradiso
9213098616 Chintels Paradiso9213098616 Chintels Paradiso
9213098616 Chintels Paradiso
Mumtaz Kalrarealtors
 
Презентація на семінар для грантерів, 10-11 квітня 2014
Презентація на семінар для грантерів, 10-11 квітня 2014Презентація на семінар для грантерів, 10-11 квітня 2014
Презентація на семінар для грантерів, 10-11 квітня 2014Olena Ursu
 
What conscience is not
What conscience is notWhat conscience is not
What conscience is notRay Alvarez
 

Viewers also liked (20)

11 texto language_history
11 texto language_history11 texto language_history
11 texto language_history
 
Portfolio 2011-2012
Portfolio 2011-2012Portfolio 2011-2012
Portfolio 2011-2012
 
ED271-Technology Proficient Professional
ED271-Technology Proficient ProfessionalED271-Technology Proficient Professional
ED271-Technology Proficient Professional
 
leadership core challenges & successes
leadership core challenges & successesleadership core challenges & successes
leadership core challenges & successes
 
J. bukowczan dopalacze v1.0
J. bukowczan dopalacze v1.0J. bukowczan dopalacze v1.0
J. bukowczan dopalacze v1.0
 
BB Games, presentazione
BB Games, presentazioneBB Games, presentazione
BB Games, presentazione
 
Informe derecho internacional privado temas 2,3,4
Informe derecho internacional privado temas 2,3,4Informe derecho internacional privado temas 2,3,4
Informe derecho internacional privado temas 2,3,4
 
Tieu luan luat kt (lam phat)
Tieu luan luat kt (lam phat)Tieu luan luat kt (lam phat)
Tieu luan luat kt (lam phat)
 
LoungeUp ROI
LoungeUp ROILoungeUp ROI
LoungeUp ROI
 
IE university application
IE university applicationIE university application
IE university application
 
Nota seminar kesempurnaan solat
Nota seminar kesempurnaan solatNota seminar kesempurnaan solat
Nota seminar kesempurnaan solat
 
Ficointerviewquestionsandanswers
FicointerviewquestionsandanswersFicointerviewquestionsandanswers
Ficointerviewquestionsandanswers
 
исследовательская работа
исследовательская работаисследовательская работа
исследовательская работа
 
Cam Q and Me
Cam Q and MeCam Q and Me
Cam Q and Me
 
Linee strategiche 2012 2014
Linee strategiche 2012 2014Linee strategiche 2012 2014
Linee strategiche 2012 2014
 
Business Process Consultant
Business Process ConsultantBusiness Process Consultant
Business Process Consultant
 
The automobile industry1__1_
The automobile industry1__1_The automobile industry1__1_
The automobile industry1__1_
 
9213098616 Chintels Paradiso
9213098616 Chintels Paradiso9213098616 Chintels Paradiso
9213098616 Chintels Paradiso
 
Презентація на семінар для грантерів, 10-11 квітня 2014
Презентація на семінар для грантерів, 10-11 квітня 2014Презентація на семінар для грантерів, 10-11 квітня 2014
Презентація на семінар для грантерів, 10-11 квітня 2014
 
What conscience is not
What conscience is notWhat conscience is not
What conscience is not
 

Similar to S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net - minh tuấn

Mo hinh ado.net
Mo hinh ado.netMo hinh ado.net
Mo hinh ado.netXuan Tran
 
3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#Dao Uit
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
huynhtrong774129
 
Web course php & csdl
Web course   php & csdlWeb course   php & csdl
Web course php & csdl慂 志慂
 
Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Hiển Phùng
 
Bai1.pdf
Bai1.pdfBai1.pdf
Bai1.pdf
TrnXunQuyn
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
ANHMATTROI
 
Data provider
Data providerData provider
Data provider
ngocminh1984
 
Tao mot ket noi toi co so du lieu dung c#
Tao mot ket noi toi co so du lieu dung c#Tao mot ket noi toi co so du lieu dung c#
Tao mot ket noi toi co so du lieu dung c#truong le hung
 
Laptrinh jdbc
Laptrinh jdbcLaptrinh jdbc
Laptrinh jdbc
clonestudy
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
HongVnHngCNTT1303
 
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
MasterCode.vn
 
4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieuDao Uit
 
Thuc hanh ado.net_bai_03
Thuc hanh ado.net_bai_03Thuc hanh ado.net_bai_03
Thuc hanh ado.net_bai_03
Thanh Điền
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008
Phương Nhung
 

Similar to S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net - minh tuấn (20)

ado.net
ado.netado.net
ado.net
 
Mo hinh ado.net
Mo hinh ado.netMo hinh ado.net
Mo hinh ado.net
 
Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
 
Web course php & csdl
Web course   php & csdlWeb course   php & csdl
Web course php & csdl
 
LinQ
LinQLinQ
LinQ
 
Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1
 
Bai1.pdf
Bai1.pdfBai1.pdf
Bai1.pdf
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
 
Data provider
Data providerData provider
Data provider
 
Cs06
Cs06Cs06
Cs06
 
08 web course php ket noi csdl
08 web course   php ket noi csdl08 web course   php ket noi csdl
08 web course php ket noi csdl
 
Tao mot ket noi toi co so du lieu dung c#
Tao mot ket noi toi co so du lieu dung c#Tao mot ket noi toi co so du lieu dung c#
Tao mot ket noi toi co so du lieu dung c#
 
Laptrinh jdbc
Laptrinh jdbcLaptrinh jdbc
Laptrinh jdbc
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
 
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
 
4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu
 
Thuc hanh ado.net_bai_03
Thuc hanh ado.net_bai_03Thuc hanh ado.net_bai_03
Thuc hanh ado.net_bai_03
 
Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008Bai 1 lam quen voi sql 2008
Bai 1 lam quen voi sql 2008
 

S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net - minh tuấn

  • 1. LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS *** ADO.NET Phạm Minh Tuấn pmtuan@fit.hcmuns.edu.vn
  • 2. Nội dung trình bày  Giới thiệu  Connected Model  Disconnected Model Khoa CNTT - ĐH KHTN 01/10/13 2
  • 3. Giới thiệu  ADO.NET là một tập các lớp thư viện được sử dụng để truy xuất dữ liệu Thêm/xóa/sửa dữ liệu Đọc dữ liệu Chương trình CSDL, XML…  Chiến lược truy xuất dữ liệu  Connected Model  Disconnected Model Khoa CNTT - ĐH KHTN 01/10/13 3
  • 4. Giới thiệu  Connected Model Chương trình  Disconnected Model Chương trình Khoa CNTT - ĐH KHTN 01/10/13 4
  • 5. Giới thiệu  .NET Data Provider  Dùng để kết nối đến CSDL, thực hiện các câu lệnh, và nhận kết quả trả về.  Hiện có 4 loại data provider chính .NET Data Provider SQL Server Oracle OLE DB ADO.NET Application ODBC Khoa CNTT - ĐH KHTN 01/10/13 5
  • 6. Giới thiệu  .NET Data Provider  Các thành phần của .NET Data Provider .NET Data Provider ???Connection ???DataAdapter SelectCommand ???Command InsertCommand Parameters ???Parameter UpdateCommand DeleteCommand ???DataReader Khoa CNTT - ĐH KHTN 01/10/13 6
  • 7. Connected Model  Kết nối vào CSDL  Thực hiện lệnh  Thêm/Xóa/Sửa dữ liệu  Đọc dữ liệu từ CSDL Khoa CNTT - ĐH KHTN 01/10/13 7
  • 8. Connected Model  Kết nối vào CSDL  Các lớp phụ trách kết nối  ODBCConnection  OleDBConnection  SqlConnection  OracleConnection  Thuộc tính quan trọng  ConnectionString: xác định nguồn dữ liệu cần kết nối  Phương thức quan trọng  Open: mở kết nối  Close: đóng kết nối Khoa CNTT - ĐH KHTN 01/10/13 8
  • 9. Connected Model  Kết nối vào CSDL  Ví dụ: kết nối vào Access OleDbConnection cnn = new OleDbConnection(); cnn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=hocsinh.mdb"; cnn.Open(); //Các lệnh cần thực hiện cnn.Close(); Khoa CNTT - ĐH KHTN 01/10/13 9
  • 10. Connected Model  Thực hiện lệnh  Các lớp phụ trách  ODBCCommand  OleDBCommand  SqlCommand  OracleCommand  Thuộc tính quan trọng  Connection: xác định CSDL sẽ thực hiện thao tác  CommandText: xác định thao tác cần thực hiện  Parameters: xác định các tham số lệnh  Phương thức quan trọng  ExecuteReader: phù hợp lệnh Select trả ra 1 bảng dữ liệu  ExecuteScalar: phù hợp lệnh Select trả ra 1 giá trị  ExecuteNonQuery: phù hợp lệnh Insert, Delete, Update Khoa CNTT - ĐH KHTN 01/10/13 10
  • 11. Connected Model  Thực hiện lệnh  Thêm/Xóa/Sửa dữ liệu Ví dụ: OleDbCommand cmd = new OleDbCommand(); cmd.Connection = cnn; cmd.CommandText = "insert into Hocsinh values(5,'Lê Văn A','227 Nguyễn Văn Cừ','11/12/2006',5,7)"; cmd.ExecuteNonQuery(); Khoa CNTT - ĐH KHTN 01/10/13 11
  • 12. Connected Model  Ví dụ OleDbCommand cmd = new OleDbCommand(); cmd.Connection = cnn; cmd.CommandText = "insert into Hocsinh values(@Ma,@Ten,@Diachi,@NgaySinh,@Toan,@Van)"; OleDbParameter para=cmd.Parameters.Add("@Ma",OleDbType.Integer); para.Value=1; para=cmd.Parameters.Add("@Ten",OleDbType.VarWChar); para.Value="Lê Văn A"; para=cmd.Parameters.Add("@Diachi",OleDbType.VarWChar); para.Value="Nguyễn Văn Cừ"; para = cmd.Parameters.Add("@Ngaysinh", OleDbType.Date); para.Value = new DateTime(1982,10,1); para=cmd.Parameters.Add("@Toan",OleDbType.Integer); para.Value=5; para=cmd.Parameters.Add("@Van",OleDbType.Integer); para.Value=7; cmd.ExecuteNonQuery(); Khoa CNTT - ĐH KHTN 01/10/13 12
  • 13. Connected Model  Thực hiện lệnh  Đọc dữ liệu từ CSDL  Dùng lệnh ExecuteReader hoặc ExecuteScalar  Lớp XXXDataReader  Read  GetXXX BookID BookName Author  IsDBNull 1 Book 1 Author 1 2 Book 2 Author 2 3 Book3 Author 3 Khoa CNTT - ĐH KHTN 01/10/13 13
  • 14. Connected Model  Thực hiện lệnh  Đọc dữ liệu từ CSDL  Ví dụ OleDbDataReader rd = cmd.ExecuteReader(); while (rd.Read()) { if (!rd.IsDBNull(3)) Console.WriteLine(rd.GetDateTime(3)); } Khoa CNTT - ĐH KHTN 01/10/13 14
  • 15. Disconnected Model Ánh xạ DataSet DataSet Data Source Tables DataTable Columns DataColumn Rows DataRow Relations DataRelation Khoa CNTT - ĐH KHTN 01/10/13 15
  • 16. Disconnected Model  DataTable  TableName: tên bảng.  Columns: danh sách các cột (DataColumn).  Rows: danh sách các mẫu tin (DataRow).  PrimaryKey: danh sách các cột làm khóa chính (DataColumn).  NewRow(): tạo một mẫu tin mới.  DataColumn  ColumnName: tên cột.  DataType: kiểu dữ liệu cột.  DataRow  RowState: trạng thái của mẫu tin (Added, Modified, Deleted, Unchanged…).  Toán tử [ i ]: truy xuất đến cột i của mẫu tin.  Delete(): đánh dấu xóa mẫu tin. Khoa CNTT - ĐH KHTN 01/10/13 16
  • 17. Disconnected Model DataAdapter SelectCommand InsertCommand DataSet UpdateCommand Data Source DeleteCommand - Fill: dùng SelectCommand lấy dữ liệu từ Data Source đổ vào DataSet. - Update: dùng InsertCommand, UpdateCommand và DeleteCommand cập nhật dữ liệu trong DataSet vào Data Source. Khoa CNTT - ĐH KHTN 01/10/13 17
  • 18. Disconnected Model  Thực hiện lệnh  Đọc dữ liệu từ CSDL  Xử lý dữ liệu  Cập nhật dữ liệu xuống CSDL Khoa CNTT - ĐH KHTN 01/10/13 18
  • 19. Disconnected Model  Đọc dữ liệu từ CSDL OleDbDataAdapter da = new OleDbDataAdapter( "select * from HocSinh", cnn); DataSet dsHocSinh=new DataSet(); da.Fill(dsHocSinh, "HocSinh"); for (int i = 0; i < dsHocSinh.Tables["HocSinh"].Rows.Count; i++) { listBox1.Items.Add( dsHocSinh.Tables["HocSinh"].Rows[i]["HoTen"].ToString() ); } Khoa CNTT - ĐH KHTN 01/10/13 19
  • 20. Disconnected Model  Xử lý dữ liệu  Thêm dữ liệu DataRow newRow; newRow=dsHocSinh.Tables["HocSinh"].NewRow(); newRow[0] = 10; newRow[1] = "Lê Thị B"; dsHocSinh.Tables["HocSinh"].Rows.Add(newRow);  Xoá dữ liệu dsHocSinh.Tables["HocSinh"].Rows[0].Delete();  Thay đổi dữ liệu DataRow row = dsHocSinh.Tables["HocSinh"].Rows[1]; row.BeginEdit(); row[0] = 11; row[1] = "Lê Thị C"; row.EndEdit(); Khoa CNTT - ĐH KHTN 01/10/13 20
  • 21. Disconnected Model  Cập nhật dữ liệu xuống CSDL OleDbCommandBuilder buider = new OleDbCommandBuilder(da); da.Update(dsHocSinh, "HocSinh"); Khoa CNTT - ĐH KHTN 01/10/13 21
  • 22. Khoa CNTT - ĐH KHTN 01/10/13 22
  • 23. Slide có sử dụng lại bài giảng về ADO.NET của Thầy Nguyễn Minh Huy Khoa CNTT - ĐH KHTN 01/10/13 23