SlideShare a Scribd company logo
Chương 16. ADO.NET
Mục tiêu
   Khám phá mô hình truy xuất CSDL
    ADO.
   Đưa dữ liệu từ CSDL vào các ô điều
    khiển.
   Sử dụng cả SQL và ADODB Provider.
   Gắn trường dữ liệu với các ô điều
    khiển.
   Mô hình dữ liệu quan hệ trong DataSet.
   Hiển thị dữ liệu quan hệ Master/Child
    lên DataGrid.
Đối tượng DataReader
Thường dùng mô hình!
Đối tượng DataSet
Đối tượng DataAdapter
Đối tượng DataView
Data Provider
   SQL Server
   OLE DB
Sử dụng SQL Provider

   Không gian tên:
       using System.Data.SqlClient;
   Câu kết nối cơ sở dữ liệu
       string strConnection ="server=YourServer;
        uid=sa;pwd=YourPW; database=northwind";
   Câu truy vấn dữ liệu
       string strCommand ="Select
        productName, unitPrice from Products";
Sử dụng SQL Provider
   Bộ thích ứng dữ liệu:
       SqlDataAdapter dataAdapter =new
        SqlDataAdapter(strCommand,
        strConnection);
   Xây dựng đối tượng DataSet không
    phụ thuộc Provider
       DataSet dataSet = new DataSet();
       dataAdapter.Fill(dataSet,"Products");
   Đối tượng Table nằm trong DataSet
       DataTable dataTable = dataSet.Tables[0];
Sử dụng SQL Provider
   Lấy từng dòng dữ liệu từ Table sử
    dụng DataRow:
    foreach (DataRow dataRow in dataTable.Rows)
    {
        lbProducts.Items.Add(dataRow["ProductName"] +
        " (at $" + dataRow["UnitPrice"] + ")");
    }
Sử dụng OLE DB Provider
   Thay đổi namespace
       using System.Data.OleDb;
   Thay đổi câu lệnh lấy nguồn dữ liệu
       string strConnection =
        "provider=Microsoft.JET.OLEDB.4.0;data
        source=c:nwind.mdb";
   Thay đổi đối tượng tương thích dữ
    liệu:
       OleDbDataAdapter dataAdapter =new
        OleDbDataAdapter(strCommand,
        strConnection);
Data Binding
   Sử dụng lớp cho phép hiện dữ liệu
    DataGrid Control.
Thiết lập quan hệ giữa các
DataTable
   Xây dựng hai bảng dữ liệu
   Thiết lập quan hệ giữa 2 bảng
   Hiển thị dữ liệu lên DataGrid
Bài tập
   Trong CSDL QLNS có các bảng dữ liệu
       DMPHONG (MaPhong, TenPhong)
       DSNV
        (MaNV,TenNV,QueQuan,HeSoLuong,…)
   Xây dựng ứng dụng cho phép hiện
    danh mục phòng lên listbox
Các bước tiến hành
    Tạo Project tên là ADO_QLNS
    Thêm điều khiển ListBox vào trong Form tên là
     lbTenPhong
    Kích đúp chuột lên Form ở chế độ thiết kế
    Thêm dòng lệnh
        using System.Data.SqlClient;
    Tạo xâu kết nối đến CSDL QLNS
        string strConnection = "Data
         Source=MINHSQLEXPRESS;Initial
         Catalog=QLNS;Integrated
         Security=True;Pooling=False";
    Tạo xâu truy vấn
        string strCommand = "Select MaPhong,TenPhong from
         DMPhong";
   Tạo đối tượng DataAdapter
       SqlDataAdapter dataAdapter = new
        SqlDataAdapter(strCommand, strConnection);
   Tạo đối tượng DataSet
       DataSet dataSet = new DataSet();
   Chuyển dữ liệu lên DataSet sử dụng lệnh
       dataAdapter.Fill(dataSet,“DMPhong");
   Lấy bảng dữ liệu ra
       DataTable dataTable = dataSet.Tables[0];
   Hiện dữ liệu lên ListBox
       foreach (DataRow dataRow in dataTable.Rows)
       {
        lbTenPhong.Items.Add(dataRow["MaPhong"] +
           " - " + dataRow[“TenPhong"]);
       }
Nếu sử dụng CSDL Access
   Thay dòng sử dụng thư viện bằng
       using System.Data.OleDb;
   Thay dòng kết nối bằng
       string strConnection =
        "provider=Microsoft.JET.OLEDB.4.0;
        data source=c:qlns.mdb";
   Thay dataAdapter bằng
       OleDbDataAdapter dataAdapter = new
        OleDbDataAdapter(strCommand,
        strConnection);
Bài tập 2
   Như bài tập 1 nhưng hiện dữ liệu lên
    DataGridView
Các bước thục hiện
   Tạo dự án dạng WindowForm tên là
    ADODATAGridView
   Đưa ô điều khiển DataGridView vào
    trong Form tên là dgvDMPhong
   Làm tương tự như bài 1
   Bỏ các câu lệnh hiện thị lên ListView
   Thêm câu lệnh hiển thị dữ liệu lên
    dgvDMPhong
       dgvDMPhong.DataSource = dataTable
        .DefaultView
Sử dụng chế độ thiết kế
   Tạo CSDL QLNS (bằng SQL Server
    hoặc Access)
   Tạo dự án mới Tên là
    ADOQLNSDesign
   Chọn Menu Data/Add New Data
    Source…
   Chọn DataSet chọn Next
Chọn
Chọn loại Data source và
Data Provider
Chọn CSDL – nhấn OK
Nhấn Next
Nhấn Next
Chọn tên các bảng cần lấy
dữ liệu nhấn Finish
Khi trở lại Form để hiện dữ
liệu đã chọn ta làm như sau
   Menu Data/Show Data Source
Kéo tên bảng cần hiện vào
trong Form sẽ được như
sau
Chạy ứng dụng
Summary
   Ba đối tượng quan trọng khi kết nối dữ
    liệu:
       Connection
       Command
       DataAdapter
   Dữ liệu đưa vào DataSet (không phụ
    thuộc nguồn cung cấp dữ liệu).
       Các bảng (các DataRow, DataCol,…)
       Các quan hệ giữa các bảng
   Hiển thị dữ liệu bằng DataGrid.

More Related Content

What's hot

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
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
MasterCode.vn
 
7.databinding
7.databinding7.databinding
7.databindingDao Uit
 
LINQ presentation
LINQ presentationLINQ presentation
LINQ presentation
Tran Ngoc Son
 
5.cach su dung data reader
5.cach su dung data reader5.cach su dung data reader
5.cach su dung data readerDao Uit
 
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
 
Thuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieuThuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieutruong le hung
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
MasterCode.vn
 
04 chuong4-databinding-140404115313-phpapp02
04 chuong4-databinding-140404115313-phpapp0204 chuong4-databinding-140404115313-phpapp02
04 chuong4-databinding-140404115313-phpapp02
huynhtrong774129
 
Webanalytics with haddop and Hive
Webanalytics with haddop and HiveWebanalytics with haddop and Hive
Webanalytics with haddop and Hive
Le Kien Truc
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
MasterCode.vn
 
Net06 asp.net applications & state management
Net06 asp.net applications & state managementNet06 asp.net applications & state management
Net06 asp.net applications & state management
hoangnguyentien
 

What's hot (15)

Thuc hanh ado.net_bai_03
Thuc hanh ado.net_bai_03Thuc hanh ado.net_bai_03
Thuc hanh ado.net_bai_03
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
7.databinding
7.databinding7.databinding
7.databinding
 
LINQ presentation
LINQ presentationLINQ presentation
LINQ presentation
 
Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
5.cach su dung data reader
5.cach su dung data reader5.cach su dung data reader
5.cach su dung data reader
 
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...
 
Thuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieuThuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieu
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
 
Bài 6: Working with DATA
Bài 6: Working with DATABài 6: Working with DATA
Bài 6: Working with DATA
 
04 chuong4-databinding-140404115313-phpapp02
04 chuong4-databinding-140404115313-phpapp0204 chuong4-databinding-140404115313-phpapp02
04 chuong4-databinding-140404115313-phpapp02
 
Aspnet 3.5 _05
Aspnet 3.5 _05Aspnet 3.5 _05
Aspnet 3.5 _05
 
Webanalytics with haddop and Hive
Webanalytics with haddop and HiveWebanalytics with haddop and Hive
Webanalytics with haddop and Hive
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
 
Net06 asp.net applications & state management
Net06 asp.net applications & state managementNet06 asp.net applications & state management
Net06 asp.net applications & state management
 

Similar to ado.net

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
 
Chuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netChuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.net
ThuyNguyenThi25
 
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
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...zzsunzz
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
huynhtrong774129
 
04 ado
04 ado04 ado
04 ado
hao191999
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
HongVnHngCNTT1303
 
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
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#Dao Uit
 
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
 
Data provider
Data providerData provider
Data provider
ngocminh1984
 
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
 
7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)TI Anh
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbANHMATTROI
 
03 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp0203 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp02
huynhtrong774129
 
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
 
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
 
04 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp0204 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp02
huynhtrong774129
 

Similar to ado.net (20)

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
 
Chuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netChuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.net
 
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
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
 
04 ado
04 ado04 ado
04 ado
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
 
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
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
 
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...
 
Data provider
Data providerData provider
Data provider
 
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 ...
 
7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vb
 
03 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp0203 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp02
 
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#
 
LinQ
LinQLinQ
LinQ
 
ôn tập dbms
ôn tập dbmsôn tập dbms
ôn tập dbms
 
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
 
04 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp0204 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp02
 

ado.net

  • 2. Mục tiêu  Khám phá mô hình truy xuất CSDL ADO.  Đưa dữ liệu từ CSDL vào các ô điều khiển.  Sử dụng cả SQL và ADODB Provider.  Gắn trường dữ liệu với các ô điều khiển.  Mô hình dữ liệu quan hệ trong DataSet.  Hiển thị dữ liệu quan hệ Master/Child lên DataGrid.
  • 8. Data Provider  SQL Server  OLE DB
  • 9. Sử dụng SQL Provider  Không gian tên:  using System.Data.SqlClient;  Câu kết nối cơ sở dữ liệu  string strConnection ="server=YourServer; uid=sa;pwd=YourPW; database=northwind";  Câu truy vấn dữ liệu  string strCommand ="Select productName, unitPrice from Products";
  • 10. Sử dụng SQL Provider  Bộ thích ứng dữ liệu:  SqlDataAdapter dataAdapter =new SqlDataAdapter(strCommand, strConnection);  Xây dựng đối tượng DataSet không phụ thuộc Provider  DataSet dataSet = new DataSet();  dataAdapter.Fill(dataSet,"Products");  Đối tượng Table nằm trong DataSet  DataTable dataTable = dataSet.Tables[0];
  • 11. Sử dụng SQL Provider  Lấy từng dòng dữ liệu từ Table sử dụng DataRow: foreach (DataRow dataRow in dataTable.Rows) { lbProducts.Items.Add(dataRow["ProductName"] + " (at $" + dataRow["UnitPrice"] + ")"); }
  • 12. Sử dụng OLE DB Provider  Thay đổi namespace  using System.Data.OleDb;  Thay đổi câu lệnh lấy nguồn dữ liệu  string strConnection = "provider=Microsoft.JET.OLEDB.4.0;data source=c:nwind.mdb";  Thay đổi đối tượng tương thích dữ liệu:  OleDbDataAdapter dataAdapter =new OleDbDataAdapter(strCommand, strConnection);
  • 13. Data Binding  Sử dụng lớp cho phép hiện dữ liệu DataGrid Control.
  • 14. Thiết lập quan hệ giữa các DataTable  Xây dựng hai bảng dữ liệu  Thiết lập quan hệ giữa 2 bảng  Hiển thị dữ liệu lên DataGrid
  • 15. Bài tập  Trong CSDL QLNS có các bảng dữ liệu  DMPHONG (MaPhong, TenPhong)  DSNV (MaNV,TenNV,QueQuan,HeSoLuong,…)  Xây dựng ứng dụng cho phép hiện danh mục phòng lên listbox
  • 16. Các bước tiến hành  Tạo Project tên là ADO_QLNS  Thêm điều khiển ListBox vào trong Form tên là lbTenPhong  Kích đúp chuột lên Form ở chế độ thiết kế  Thêm dòng lệnh  using System.Data.SqlClient;  Tạo xâu kết nối đến CSDL QLNS  string strConnection = "Data Source=MINHSQLEXPRESS;Initial Catalog=QLNS;Integrated Security=True;Pooling=False";  Tạo xâu truy vấn  string strCommand = "Select MaPhong,TenPhong from DMPhong";
  • 17. Tạo đối tượng DataAdapter  SqlDataAdapter dataAdapter = new SqlDataAdapter(strCommand, strConnection);  Tạo đối tượng DataSet  DataSet dataSet = new DataSet();  Chuyển dữ liệu lên DataSet sử dụng lệnh  dataAdapter.Fill(dataSet,“DMPhong");  Lấy bảng dữ liệu ra  DataTable dataTable = dataSet.Tables[0];  Hiện dữ liệu lên ListBox  foreach (DataRow dataRow in dataTable.Rows)  {  lbTenPhong.Items.Add(dataRow["MaPhong"] +  " - " + dataRow[“TenPhong"]);  }
  • 18. Nếu sử dụng CSDL Access  Thay dòng sử dụng thư viện bằng  using System.Data.OleDb;  Thay dòng kết nối bằng  string strConnection = "provider=Microsoft.JET.OLEDB.4.0; data source=c:qlns.mdb";  Thay dataAdapter bằng  OleDbDataAdapter dataAdapter = new OleDbDataAdapter(strCommand, strConnection);
  • 19. Bài tập 2  Như bài tập 1 nhưng hiện dữ liệu lên DataGridView
  • 20. Các bước thục hiện  Tạo dự án dạng WindowForm tên là ADODATAGridView  Đưa ô điều khiển DataGridView vào trong Form tên là dgvDMPhong  Làm tương tự như bài 1  Bỏ các câu lệnh hiện thị lên ListView  Thêm câu lệnh hiển thị dữ liệu lên dgvDMPhong  dgvDMPhong.DataSource = dataTable .DefaultView
  • 21. Sử dụng chế độ thiết kế  Tạo CSDL QLNS (bằng SQL Server hoặc Access)  Tạo dự án mới Tên là ADOQLNSDesign  Chọn Menu Data/Add New Data Source…  Chọn DataSet chọn Next
  • 23. Chọn loại Data source và Data Provider
  • 24. Chọn CSDL – nhấn OK
  • 27. Chọn tên các bảng cần lấy dữ liệu nhấn Finish
  • 28. Khi trở lại Form để hiện dữ liệu đã chọn ta làm như sau  Menu Data/Show Data Source
  • 29. Kéo tên bảng cần hiện vào trong Form sẽ được như sau
  • 31. Summary  Ba đối tượng quan trọng khi kết nối dữ liệu:  Connection  Command  DataAdapter  Dữ liệu đưa vào DataSet (không phụ thuộc nguồn cung cấp dữ liệu).  Các bảng (các DataRow, DataCol,…)  Các quan hệ giữa các bảng  Hiển thị dữ liệu bằng DataGrid.