SlideShare a Scribd company logo
Chương 6

     ADO.NET - I
Mục tiêu
   Giải thích DataSets
   Sử dụng .NET Data Providers
   Tạo DataGrid
   DataReader
Kết nối cơ sở dữ liệu trong
     ADO.NET
   Hầu hết các cơ sở dữ liệu chỉ quản lý một số lương nhỏ các kết nối
    đồng thời
   Hiệu suất của ứng dụng phụ thuộc vào số người dùng
   Việc các ứng dụng Web duy trì một nối kết liên tục với database là
    không khả thi bởi vì không biết lúc nào các trình duyệt truy cập dữ
    liệu
   Microsoft tạo kiến trúc dữ liệu không liên tục cho ADO.NET
   Các ứng dụng sử dụng ADO.NET kết nối dữ liệu chỉ để lấy hay cập
    nhật dữ liệu
Mô hình đối tượng ADO.NET
 .NET DATA Provider             DATASET
  CONNECTION                    DATATABLE
  COMMAND
                                   DataRow
                                 DataColumn
  DATA ADAPTER                 UniqueConstraint
                             ForeignKeyConstraint
  DATA READER




                  DATABASE
DataSets
DataSet là một đối tượng có thể lưu trữ dữ liệu được lấy từ CSDL. DataSet có
thể chứa một hay nhiều bảng cũng như chứa thông tin về quan hệ và các ràng
buột
                                 DataSet




   <Dataset name>.Tables.Add(<datatable object name>);
   Cú pháp thêm bảng dữ liệu
Ví dụ DataSets
<%@ Page Debug = "true" %>
<%@ Import namespace="System.Data" %>
<html>
    <title> DataTable </title>
       <script language="C#" runat="server">
       void Page_Load(Object sender, EventArgs e)
       {
          Response.Write("<center><b><u>Data
Table</center></b></u> <br>");
          DataSet myds = new DataSet();
          DataTable mydt = new DataTable ("Squares");
          DataRow mydr;
          mydt.Columns.Add(new DataColumn
("Numbers",typeof(Int32)));
Ví dụ DataSets
mydt.Columns.Add(new DataColumn("Squares",typeof(Int32)));
       for (int i = 0; i < 10; i++)
       {
         mydr = mydt.NewRow();
         mydr[0] = i;
         mydr[1] = i * i;
         mydt.Rows.Add(mydr);
       }
       myds.Tables.Add(mydt);
       dgMyGrid.DataSource =   myds.Tables ["Squares"].
DefaultView;
       dgMyGrid.DataBind();
     }
     </script>
Kết xuất DataSets
  <form runat="server">
     <center>
       <asp:DataGrid id="dgMyGrid" runat= "server"/>
       </center>
  </form>
</html>
.NET Data Providers
   Chứa các đối tượng cung cấp truy cập dữ liệu từ nhiều nguồn
    khác nhau
   Nguồn dữ liệu có thể dựa trên CSDL hay dữ liệu kiểu liệu XML,
    Excel
   .NET Data Providers thực hiện tất cả các thao tác như lấy,
    chèn, cập nhật hay xóa dữ liệu yêu cầu giữa CSDL và DataSet




                       Thiết lập nối kết với CSDL


                       Lấy và thao tác dữ liệu trong
                       CSDL
Các kiểu của .NET Data Providers
    Có 4 kiểu
        .NET Data Provider for SQL Server
        .NET Data Provider for OLE DB
        .NET Data Provider for ODBC
        .NET Data Provider for Oracle
Đối tượng Connection
Sử dụng namespace sau:



SQL .NET Data Provider       OLE DB .NET Data Provider
<%@ Import                   <%@ Import
Namespace="System.Data" %>   Namespace="System.Data" %>
<%@ Import                   <%@Import
Namespace="System.Data.      Namespace="System.Data.Ole
SqlClient" %>                Db" %>
Đối tượng Connection
Để tạo kết nối đến CSDL, một đối tượng Connection được dùng để
truyền chuỗi kết nối. Đối tượng connection cho cả 2 kiểu .NET Data
Providers là tương tự nhau.



sqlcon = new SqlConnection ("server=SQLDB; uid = sa;
pwd = password; database=pubs");




adocon =new OleDbConnection ("Provider=SQLOLEDB;
Data Source=SQLDB; Initial Catalog=pubs; User Id=sa;
pwd=password");
Đối tượng Command
Đối tượng Command dùng để lấy, cập nhật, chèn và xóa dữ liệu trong
CSDL. Cú pháp lấy dữ liệu như sau:



 SqlDataAdapter sqlcom = new SqlDataAdapter ("select *
 from employee", sqlcon);



  OleDbDataAdapter adocom = new OleDbDataAdapter ("select *
  from employee", adocon);



  DataSet ds = new DataSet(); //Creation
  adocom.Fill(ds, "employee");//OLE DB .NET Data Provider
  sqlcom.Fill (ds, "employee");// SQL .NET Data Provider
Đối tượng Command…
Cú pháp dùng để chèn dữ liệu



SqlCommand inscom = new SqlCommand ("insert into
employee values ('ARD25437A', 'John', 'P', 'Baxter',
71000877, '1989-11-11T00:00:00 ')",sqlcon);




OleDbCommand inscom = new OleDbCommand ("insert into
employee values ('ARD25437A','John','P','Baxter',
71000877,'1989-11-11T00:00:00 ')",adocon);
Đối tượng Command …
Cú pháp dùng cho cập nhật dữ liệu




  SqlCommand mycommand = new SqlCommand
  ("UPDATE employee SET job_id=11 WHERE
  fname='Pedro'", sqlcon);



  OleDbCommand mycommand = new
  OleDbCommand    ("UPDATE     employee   SET
  job_id=11
  WHERE fname='Pedro'", adocon);
Đối tượng Command …
 Cú pháp dùng để xóa dữ liệu



SqlCommand delcom = new SqlCommand ("delete
from employee WHERE fname='Lesley'", sqlcon);




OleDbCommand  delcom   =   new   OleDbCommand
("delete from employee WHERE fname='Lesley'",
adocon);
Đối tượng Command …
   Vì ADO.NET theo mô hình dữ liệu ngắt nối kết, bất
    cứ nhiệm vụ được thực hiện trên CSDL yêu cầu một
    kế nối đến CSDL.
   Nối kết phải được mở tường minh khi sử dụng đối
    tượng command
   Ví dụ


        delcom.Connection.Open();
        delcom.ExecuteNonQuery();
        delcom.Connection.Close();
DataGrid
   DataGrid dùng để xem và thay đổi các mẫu tin dữ liệu
   Thuộc tính DataSource dùng để chỉ ra nguồn dữ
    liệuproperty, và dữ liệu được kết buộc dùng phương
    thức DataBind()




<asp:DataGrid id="DataGrid1" runat="server" />
DataGrid Ví dụ
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server" Debug="true" >
  SqlConnection mysqlcon;
  protected void Page_Load(Object Src, EventArgs E)
  {
    Response.Write("<center><b><u>DataGrid
</center></b></u><br>");
    mysqlcon= new SqlConnection
("server=SQLDB;uid=sa;pwd=password;database=pubs");
    SqlDataAdapter mysqlcom = new SqlDataAdapter ("select *
from employee where job_id = 5", mysqlcon);
    DataSet myds = new DataSet();
    mysqlcom.Fill(myds, "employee");
DataGrid – Kết xuất
  dgMyGrid.DataSource= myds.Tables ["employee“] .DefaultView;
   dgMyGrid.DataBind();
 }
   </script><form runat="server">
   <asp:DataGrid id=“dgMyGrid" runat="server" />
   </form>
</html>
DataView
   Dùng để biểu diễn hiển thị dữ liệu tùy biến từ
    một DataTable
   Một DataView có thể lọc, tìm và sắp xếp
   Dùng DataView, 2 điều khiển có thể dùng để
    hiển thị kiểu khác nhau từ cùng một bảng
    trong DataSet
DataView Ví dụ
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
    <title>DataView</title>
    <script language="C#" runat="server" Debug="true" >
    SqlConnection mySqlCon;
    protected void Page_Load(Object Src, EventArgs e)
    {

Response.Write("<center><b><u>DataView</center></b></u>
<br>");
       mySqlCon = new SqlConnection ("server=SQLDB;
uid=sa;pwd=password;database=pubs");
       SqlDataAdapter mySqlda = new SqlDataAdapter
("select * from employee where job_id = 5", mySqlCon);
       DataSet myds = new DataSet();
DataView Ví dụ
    mySqlda.Fill(myds, "employee");
        DataView mydv = new DataView (myds.Tables
["employee"]);
        mydv.RowFilter = "job_lvl >180";
        mydv.Sort = "fname ASC";
        dbgMyGrid.DataSource =mydv;
        dbgMyGrid.DataBind();
    }
    </script>
    <form runat="server">
    <asp:DataGrid id="dbgMyGrid" runat="server" />
    </form>
</html>
DataView Ví dụ
DataReader
   Được dùng khi các mẫu tin của truy vấn được
    xem tuần tự
   Một DataReader chỉ có thể đọc và duyệt
    tuần tự từ kết quả truy vấn
   DataReader không cung cấp truy xuất ngắt
    nối kết đến dữ liệu
DataReader Ví dụ
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
   <title>DataReader</title>
   <script language="C#" runat="server">
   SqlConnection mySqlCon;
   protected void Page_Load(Object Src, EventArgs E)
   {
       Response.Write("<center><b><u>DataReader</center></b>
</u><br>");
       mySqlCon = new SqlConnection
("server=SQLDB;uid=sa;pwd=password;database=pubs");
       SqlCommand mySqlda = new SqlCommand ("select * from
employee where job_id = 5", mySqlCon);
       mySqlCon.Open();
DataReader Ví dụ
       SqlDataReader mydatareader;
       mydatareader = mySqlda.ExecuteReader();
           if(mydatareader.HasRows)
         {
                dbgMyGrid.DataSource = mydatareader;
                dbgMyGrid.DataBind();
         }
       else
                Response.Write ("No records found");
                mySqlCon.Close();
       }
       </script>
       <body>
       <asp:DataGrid id="dbgMyGrid" runat="server" />
       </body>
</html>
DataReader Ví dụ
Thuận lợi của
ADO.NET

More Related Content

PPT
ado.net
PPT
Ung dung web chuong 7
PDF
Aspnet 3.5 _02
DOCX
6.adapterset
PDF
Grid view
PPT
C# co ban 10
PPT
04 chuong 4 - databinding
PDF
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...
ado.net
Ung dung web chuong 7
Aspnet 3.5 _02
6.adapterset
Grid view
C# co ban 10
04 chuong 4 - databinding
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...

What's hot (20)

DOCX
Cach su dung databinding
PPT
03 chuong 3 - data sets
PDF
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
PPT
01 chuong1-gioithieuado-140404114504-phpapp01
PDF
Net06 asp.net applications & state management
PDF
Aspnet 3.5 _05
DOCX
Cach su dung data reader
PDF
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
PPT
Chuong 07_ gắng kết dữ liệu asp.net
DOCX
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
DOCX
Them,xoa,sua data trong xml
DOCX
5.cach su dung data reader
PDF
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
PPT
04 chuong4-databinding-140404115313-phpapp02
PPT
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
DOCX
Thuc thi menh lenh voi co so du lieu
DOC
Zend db
PPT
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
PDF
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
PDF
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Cach su dung databinding
03 chuong 3 - data sets
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
01 chuong1-gioithieuado-140404114504-phpapp01
Net06 asp.net applications & state management
Aspnet 3.5 _05
Cach su dung data reader
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Chuong 07_ gắng kết dữ liệu asp.net
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
Them,xoa,sua data trong xml
5.cach su dung data reader
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
04 chuong4-databinding-140404115313-phpapp02
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
Thuc thi menh lenh voi co so du lieu
Zend db
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT

Viewers also liked (20)

PPS
CVHealth Presentation
PPTX
предложение для It партнеров клуба magnat - всем
PDF
Lap trinh web dong voi php my sql
PDF
16 hoangnamhai
KEY
Blogs in computers in l2 share
PDF
20121224164710718
PPTX
Clicknet как найти клиентов в интернете. новые инструменты продаж
PPT
Publication volume1
PPTX
Tdd 마무리
PPT
Slamon sous vide rare and medium rare
PDF
1 -nhapmon
PPSX
Browzring Dynamics
PDF
Kentcources 110109221507-phpapp01
PPS
Caricatures
PPT
100讀書會講綱100.04.07
KEY
Blogs in computers in l2
PPT
NPX Overview
PPT
Networking 101
PPT
Creating a Business Plan for a fake blog
CVHealth Presentation
предложение для It партнеров клуба magnat - всем
Lap trinh web dong voi php my sql
16 hoangnamhai
Blogs in computers in l2 share
20121224164710718
Clicknet как найти клиентов в интернете. новые инструменты продаж
Publication volume1
Tdd 마무리
Slamon sous vide rare and medium rare
1 -nhapmon
Browzring Dynamics
Kentcources 110109221507-phpapp01
Caricatures
100讀書會講綱100.04.07
Blogs in computers in l2
NPX Overview
Networking 101
Creating a Business Plan for a fake blog

Similar to Ung dung web chuong 6 (19)

PDF
WINFORM CREATTION ABOUT SOMETHING THAT AMAZING
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...
DOCX
Trong bài viết hôm nay
PDF
C5. Model, DataSharing.pdf
PDF
Lớp kết nối csdl dùng jdbc trong java
DOCX
7 databinding-120306231825-phpapp02(1)
PPT
PDF
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 ...
PDF
Lap trinhcosodulieuvoi c-sharp_phan-2
PPT
Laptrinh jdbc
PPT
C# co ban 9
DOCX
7.databinding
PDF
01 tong-quan-ado
PPTX
Data provider
PPTX
LINQ presentation
PDF
Asp.net 3.5 _7
PDF
Aspnet 3.5 _04
PPT
04 ado
WINFORM CREATTION ABOUT SOMETHING THAT AMAZING
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...
Trong bài viết hôm nay
C5. Model, DataSharing.pdf
Lớp kết nối csdl dùng jdbc trong java
7 databinding-120306231825-phpapp02(1)
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 ...
Lap trinhcosodulieuvoi c-sharp_phan-2
Laptrinh jdbc
C# co ban 9
7.databinding
01 tong-quan-ado
Data provider
LINQ presentation
Asp.net 3.5 _7
Aspnet 3.5 _04
04 ado

More from Giang Nguyễn (20)

PDF
Php can ban_bai1_laptrinhwebphp.com
PDF
Os xmldomphp
PDF
Os php-7oohabits
PDF
Os php-5.3new1
PDF
Php day4
PDF
Hay php architect eav modeling
PDF
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
PDF
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
PDF
Chuong07 php
PDF
Bai th08 php voi csdl
PDF
Haiphongit.com.tai lieu-learning-php-my sql
PDF
Hd lap pttkht2008
PDF
Joomla administratormanual vi_20060206
PDF
Canbanvethietkevalaptrinhgame
PDF
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
PDF
Eclipse pdt indigo release review
PDF
Bai tap lap trinh web voi joomla csau
PDF
Php can ban_bai1_laptrinhwebphp.com
Os xmldomphp
Os php-7oohabits
Os php-5.3new1
Php day4
Hay php architect eav modeling
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Chuong07 php
Bai th08 php voi csdl
Haiphongit.com.tai lieu-learning-php-my sql
Hd lap pttkht2008
Joomla administratormanual vi_20060206
Canbanvethietkevalaptrinhgame
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Eclipse pdt indigo release review
Bai tap lap trinh web voi joomla csau

Recently uploaded (20)

PPT
SINH 8 TUYẾN YÊN TUYẾN GIÁP CÂU TẠO VÀ CHỨC NĂNG
PDF
PHÁT TRIỂN NĂNG LỰC KHÁM PHÁ TỰ NHIÊN CHO HỌC SINH TRONG DẠY HỌC CHỦ ĐỀ VẬT S...
PPTX
TIẾT 8, 9, 10. BÀI 32. DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
DOCX
xin loi vi da den bai hoc cuo bd thnnn 2
DOC
Chương 1 Tính tương đổi của chuyển động.doc
PDF
Quản trị sự kiện........................
PPTX
TIẾT 11. BÀI 32 DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
PDF
BÀI TẬP TEST FOR UNIT TIẾNG ANH LỚP 8 GLOBAL SUCCESS CẢ NĂM THEO TỪNG ĐƠN VỊ ...
PPT
BÀi giảng phương pháp luận nghiên cứu khoa học.ppt
PPTX
Tốc độ và vận tốc trong chuyển động thẳng
DOC
TẦM QUAN TRỌNG CỦA VIỆC TUÂN THỦ CÁC QUY TẮC AN TOÀN GIAO THÔNG ĐƯỜNG BỘ
PPTX
Vai trò vô cùng quan trọng để thuyết trình.pptx
PPTX
Chương 1 – Tổng quan về Cơ sở dữ liệu.pptx
PPT
Bài giảng Power Point 2003, hướng dẫn học tập
PDF
12894-44864-1-CE-1037-1038_Văn bản của bài báo.pdf
DOCX
Luận văn group-Bài tiểu luận Ý thức - Giấc mơ.docx
PPTX
Powerpoint cho Ke toan tai chinh KET307_Bai1_SV.pptx
PDF
CHUYÊN ĐỀ BỔ TRỢ NÂNG CAO DẠNG BÀI TẬP MỚI FORM 2025 - TIẾNG ANH 12 (TỜ RƠI Q...
DOCX
BÀI TIỂU LUẬN HẾT HỌC PHẦN TỔ CHỨC HOẠT ĐỘNG TRẢI NGHIỆM,HƯỚNG NGHIỆP Ở TRƯỜN...
PDF
BÀI TẬP BỔ TRỢ FRIENDS PLUS 9 - BÀI TẬP TRẮC NGHIỆM, TỰ LUẬN - CẢ NĂM (BÁM SÁ...
SINH 8 TUYẾN YÊN TUYẾN GIÁP CÂU TẠO VÀ CHỨC NĂNG
PHÁT TRIỂN NĂNG LỰC KHÁM PHÁ TỰ NHIÊN CHO HỌC SINH TRONG DẠY HỌC CHỦ ĐỀ VẬT S...
TIẾT 8, 9, 10. BÀI 32. DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
xin loi vi da den bai hoc cuo bd thnnn 2
Chương 1 Tính tương đổi của chuyển động.doc
Quản trị sự kiện........................
TIẾT 11. BÀI 32 DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
BÀI TẬP TEST FOR UNIT TIẾNG ANH LỚP 8 GLOBAL SUCCESS CẢ NĂM THEO TỪNG ĐƠN VỊ ...
BÀi giảng phương pháp luận nghiên cứu khoa học.ppt
Tốc độ và vận tốc trong chuyển động thẳng
TẦM QUAN TRỌNG CỦA VIỆC TUÂN THỦ CÁC QUY TẮC AN TOÀN GIAO THÔNG ĐƯỜNG BỘ
Vai trò vô cùng quan trọng để thuyết trình.pptx
Chương 1 – Tổng quan về Cơ sở dữ liệu.pptx
Bài giảng Power Point 2003, hướng dẫn học tập
12894-44864-1-CE-1037-1038_Văn bản của bài báo.pdf
Luận văn group-Bài tiểu luận Ý thức - Giấc mơ.docx
Powerpoint cho Ke toan tai chinh KET307_Bai1_SV.pptx
CHUYÊN ĐỀ BỔ TRỢ NÂNG CAO DẠNG BÀI TẬP MỚI FORM 2025 - TIẾNG ANH 12 (TỜ RƠI Q...
BÀI TIỂU LUẬN HẾT HỌC PHẦN TỔ CHỨC HOẠT ĐỘNG TRẢI NGHIỆM,HƯỚNG NGHIỆP Ở TRƯỜN...
BÀI TẬP BỔ TRỢ FRIENDS PLUS 9 - BÀI TẬP TRẮC NGHIỆM, TỰ LUẬN - CẢ NĂM (BÁM SÁ...

Ung dung web chuong 6

  • 1. Chương 6 ADO.NET - I
  • 2. Mục tiêu  Giải thích DataSets  Sử dụng .NET Data Providers  Tạo DataGrid  DataReader
  • 3. Kết nối cơ sở dữ liệu trong ADO.NET  Hầu hết các cơ sở dữ liệu chỉ quản lý một số lương nhỏ các kết nối đồng thời  Hiệu suất của ứng dụng phụ thuộc vào số người dùng  Việc các ứng dụng Web duy trì một nối kết liên tục với database là không khả thi bởi vì không biết lúc nào các trình duyệt truy cập dữ liệu  Microsoft tạo kiến trúc dữ liệu không liên tục cho ADO.NET  Các ứng dụng sử dụng ADO.NET kết nối dữ liệu chỉ để lấy hay cập nhật dữ liệu
  • 4. Mô hình đối tượng ADO.NET .NET DATA Provider DATASET CONNECTION DATATABLE COMMAND DataRow DataColumn DATA ADAPTER UniqueConstraint ForeignKeyConstraint DATA READER DATABASE
  • 5. DataSets DataSet là một đối tượng có thể lưu trữ dữ liệu được lấy từ CSDL. DataSet có thể chứa một hay nhiều bảng cũng như chứa thông tin về quan hệ và các ràng buột DataSet <Dataset name>.Tables.Add(<datatable object name>); Cú pháp thêm bảng dữ liệu
  • 6. Ví dụ DataSets <%@ Page Debug = "true" %> <%@ Import namespace="System.Data" %> <html> <title> DataTable </title> <script language="C#" runat="server"> void Page_Load(Object sender, EventArgs e) { Response.Write("<center><b><u>Data Table</center></b></u> <br>"); DataSet myds = new DataSet(); DataTable mydt = new DataTable ("Squares"); DataRow mydr; mydt.Columns.Add(new DataColumn ("Numbers",typeof(Int32)));
  • 7. Ví dụ DataSets mydt.Columns.Add(new DataColumn("Squares",typeof(Int32))); for (int i = 0; i < 10; i++) { mydr = mydt.NewRow(); mydr[0] = i; mydr[1] = i * i; mydt.Rows.Add(mydr); } myds.Tables.Add(mydt); dgMyGrid.DataSource = myds.Tables ["Squares"]. DefaultView; dgMyGrid.DataBind(); } </script>
  • 8. Kết xuất DataSets <form runat="server"> <center> <asp:DataGrid id="dgMyGrid" runat= "server"/> </center> </form> </html>
  • 9. .NET Data Providers  Chứa các đối tượng cung cấp truy cập dữ liệu từ nhiều nguồn khác nhau  Nguồn dữ liệu có thể dựa trên CSDL hay dữ liệu kiểu liệu XML, Excel  .NET Data Providers thực hiện tất cả các thao tác như lấy, chèn, cập nhật hay xóa dữ liệu yêu cầu giữa CSDL và DataSet Thiết lập nối kết với CSDL Lấy và thao tác dữ liệu trong CSDL
  • 10. Các kiểu của .NET Data Providers  Có 4 kiểu  .NET Data Provider for SQL Server  .NET Data Provider for OLE DB  .NET Data Provider for ODBC  .NET Data Provider for Oracle
  • 11. Đối tượng Connection Sử dụng namespace sau: SQL .NET Data Provider OLE DB .NET Data Provider <%@ Import <%@ Import Namespace="System.Data" %> Namespace="System.Data" %> <%@ Import <%@Import Namespace="System.Data. Namespace="System.Data.Ole SqlClient" %> Db" %>
  • 12. Đối tượng Connection Để tạo kết nối đến CSDL, một đối tượng Connection được dùng để truyền chuỗi kết nối. Đối tượng connection cho cả 2 kiểu .NET Data Providers là tương tự nhau. sqlcon = new SqlConnection ("server=SQLDB; uid = sa; pwd = password; database=pubs"); adocon =new OleDbConnection ("Provider=SQLOLEDB; Data Source=SQLDB; Initial Catalog=pubs; User Id=sa; pwd=password");
  • 13. Đối tượng Command Đối tượng Command dùng để lấy, cập nhật, chèn và xóa dữ liệu trong CSDL. Cú pháp lấy dữ liệu như sau: SqlDataAdapter sqlcom = new SqlDataAdapter ("select * from employee", sqlcon); OleDbDataAdapter adocom = new OleDbDataAdapter ("select * from employee", adocon); DataSet ds = new DataSet(); //Creation adocom.Fill(ds, "employee");//OLE DB .NET Data Provider sqlcom.Fill (ds, "employee");// SQL .NET Data Provider
  • 14. Đối tượng Command… Cú pháp dùng để chèn dữ liệu SqlCommand inscom = new SqlCommand ("insert into employee values ('ARD25437A', 'John', 'P', 'Baxter', 71000877, '1989-11-11T00:00:00 ')",sqlcon); OleDbCommand inscom = new OleDbCommand ("insert into employee values ('ARD25437A','John','P','Baxter', 71000877,'1989-11-11T00:00:00 ')",adocon);
  • 15. Đối tượng Command … Cú pháp dùng cho cập nhật dữ liệu SqlCommand mycommand = new SqlCommand ("UPDATE employee SET job_id=11 WHERE fname='Pedro'", sqlcon); OleDbCommand mycommand = new OleDbCommand ("UPDATE employee SET job_id=11 WHERE fname='Pedro'", adocon);
  • 16. Đối tượng Command … Cú pháp dùng để xóa dữ liệu SqlCommand delcom = new SqlCommand ("delete from employee WHERE fname='Lesley'", sqlcon); OleDbCommand delcom = new OleDbCommand ("delete from employee WHERE fname='Lesley'", adocon);
  • 17. Đối tượng Command …  Vì ADO.NET theo mô hình dữ liệu ngắt nối kết, bất cứ nhiệm vụ được thực hiện trên CSDL yêu cầu một kế nối đến CSDL.  Nối kết phải được mở tường minh khi sử dụng đối tượng command  Ví dụ delcom.Connection.Open(); delcom.ExecuteNonQuery(); delcom.Connection.Close();
  • 18. DataGrid  DataGrid dùng để xem và thay đổi các mẫu tin dữ liệu  Thuộc tính DataSource dùng để chỉ ra nguồn dữ liệuproperty, và dữ liệu được kết buộc dùng phương thức DataBind() <asp:DataGrid id="DataGrid1" runat="server" />
  • 19. DataGrid Ví dụ <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <script language="C#" runat="server" Debug="true" > SqlConnection mysqlcon; protected void Page_Load(Object Src, EventArgs E) { Response.Write("<center><b><u>DataGrid </center></b></u><br>"); mysqlcon= new SqlConnection ("server=SQLDB;uid=sa;pwd=password;database=pubs"); SqlDataAdapter mysqlcom = new SqlDataAdapter ("select * from employee where job_id = 5", mysqlcon); DataSet myds = new DataSet(); mysqlcom.Fill(myds, "employee");
  • 20. DataGrid – Kết xuất dgMyGrid.DataSource= myds.Tables ["employee“] .DefaultView; dgMyGrid.DataBind(); } </script><form runat="server"> <asp:DataGrid id=“dgMyGrid" runat="server" /> </form> </html>
  • 21. DataView  Dùng để biểu diễn hiển thị dữ liệu tùy biến từ một DataTable  Một DataView có thể lọc, tìm và sắp xếp  Dùng DataView, 2 điều khiển có thể dùng để hiển thị kiểu khác nhau từ cùng một bảng trong DataSet
  • 22. DataView Ví dụ <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <title>DataView</title> <script language="C#" runat="server" Debug="true" > SqlConnection mySqlCon; protected void Page_Load(Object Src, EventArgs e) { Response.Write("<center><b><u>DataView</center></b></u> <br>"); mySqlCon = new SqlConnection ("server=SQLDB; uid=sa;pwd=password;database=pubs"); SqlDataAdapter mySqlda = new SqlDataAdapter ("select * from employee where job_id = 5", mySqlCon); DataSet myds = new DataSet();
  • 23. DataView Ví dụ mySqlda.Fill(myds, "employee"); DataView mydv = new DataView (myds.Tables ["employee"]); mydv.RowFilter = "job_lvl >180"; mydv.Sort = "fname ASC"; dbgMyGrid.DataSource =mydv; dbgMyGrid.DataBind(); } </script> <form runat="server"> <asp:DataGrid id="dbgMyGrid" runat="server" /> </form> </html>
  • 25. DataReader  Được dùng khi các mẫu tin của truy vấn được xem tuần tự  Một DataReader chỉ có thể đọc và duyệt tuần tự từ kết quả truy vấn  DataReader không cung cấp truy xuất ngắt nối kết đến dữ liệu
  • 26. DataReader Ví dụ <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <title>DataReader</title> <script language="C#" runat="server"> SqlConnection mySqlCon; protected void Page_Load(Object Src, EventArgs E) { Response.Write("<center><b><u>DataReader</center></b> </u><br>"); mySqlCon = new SqlConnection ("server=SQLDB;uid=sa;pwd=password;database=pubs"); SqlCommand mySqlda = new SqlCommand ("select * from employee where job_id = 5", mySqlCon); mySqlCon.Open();
  • 27. DataReader Ví dụ SqlDataReader mydatareader; mydatareader = mySqlda.ExecuteReader(); if(mydatareader.HasRows) { dbgMyGrid.DataSource = mydatareader; dbgMyGrid.DataBind(); } else Response.Write ("No records found"); mySqlCon.Close(); } </script> <body> <asp:DataGrid id="dbgMyGrid" runat="server" /> </body> </html>