ASP.NET - Kết nối cơ sở dữ liệu
- Trang trước DataList WebForms
- Trang tiếp theo Mẫu trang WebForms
ADO.NET cũng là thành phần của khung công tác .NET.
Chức năng của ADO.NET là xử lý truy cập dữ liệu. Qua ADO.NET, bạn có thể thao tác với cơ sở dữ liệu.
Mô hình
Điều gì là ADO.NET?
- ADO.NET là thành phần của khung công tác .NET
- ADO.NET được组成由一系列用于操作数据访问的类
- ADO.NET hoàn toàn dựa trên XML
- ADO.NET không có đối tượng Recordset, điều này khác với ADO
Tạo kết nối cơ sở dữ liệu
Chúng ta dự định sử dụng cơ sở dữ liệu Northwind đã từng sử dụng.
Trước hết, nhập tên không gian "System.Data.OleDb" Chúng ta cần tên không gian này để có thể làm việc với Microsoft Access và các nhà cung cấp OLE DB cơ sở dữ liệu khác. Chúng ta sẽ tạo kết nối với cơ sở dữ liệu này trong hàm Page_Load. Chúng ta đã tạo một biến dbconn và gán cho nó lớp OleDbConnection mới, có chuỗi kết nối có thể chỉ định OLE DB và vị trí cơ sở dữ liệu. Sau đó, chúng ta mở kết nối cơ sở dữ liệu này:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" data source=" & server.mappath("northwind.mdb")") dbconn.Open() end sub </script>
Ghi chú:Chuỗi kết nối này phải là một chuỗi liên tục không có gạch ngang!
Tạo lệnh cơ sở dữ liệu
Để chỉ định các bản ghi cần lấy từ cơ sở dữ liệu, chúng ta sẽ tạo một biến dbcomm và gán cho nó một OleDbCommand mới. Lớp OleDbCommand này được sử dụng để phát đi truy vấn SQL cho bảng cơ sở dữ liệu:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn, sql, dbcomm dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql = "SELECT * FROM customers" dbcomm = New OleDbCommand(sql, dbconn) end sub </script>
Tạo DataReader
Lớp OleDbDataReader được sử dụng để đọc dòng dữ liệu từ nguồn dữ liệu. Bằng cách gọi phương thức ExecuteReader của đối tượng OleDbCommand, bạn có thể tạo ra DataReader:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn, sql, dbcomm, dbread dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql = "SELECT * FROM customers" dbcomm = New OleDbCommand(sql, dbconn) dbread=dbcomm.ExecuteReader() end sub </script>
Gán vào điều khiển Repeater
Sau đó, chúng ta gán DataReader vào một điều khiển Repeater:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn, sql, dbcomm, dbread dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql = "SELECT * FROM customers" dbcomm = New OleDbCommand(sql, dbconn) dbread=dbcomm.ExecuteReader() customers.DataSource=dbread customers.DataBind() dbread.Close() dbconn.Close() end sub </script> <html> <body> <form runat="server"> <asp:Repeater id="customers" runat="server"> <HeaderTemplate> <table border="1" width="100%"> <tr> <th>Tên công ty</th> <th>Tên liên hệ</th> <th>Địa chỉ</th> <th>Thành phố</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Container.DataItem("companyname")%></td> <td><%#Container.DataItem("contactname")%></td> <td><%#Container.DataItem("address")%></td> <td><%#Container.DataItem("city")%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </form> </body> </html>
Đóng kết nối cơ sở dữ liệu
Sau khi không cần truy cập cơ sở dữ liệu, hãy nhớ luôn luôn đóng DataReader và kết nối cơ sở dữ liệu:
dbread.Close() dbconn.Close()
- Trang trước DataList WebForms
- Trang tiếp theo Mẫu trang WebForms