Bài viết sau giới thiệu về chuyên mục một số đối tượng trong không gian System.data trong VB.NET, chúng ta hãy cùng nhau tìm hiểu.
Tác dụng: Vai trò của Connection trong ADO.NET là tạo kết nối giữa ứng dụng với nguồn dữ liệu (CSDL).
System.Data.Oledb: Sử dụng với Access
System.Data.SqlClient: Sử dụng với SQLServer
Ứng với mỗi tên miền có một lớp connection tương ứng:
System.Data.Oledb.OledbConnection
System.Data.SqlClient.SqlConnection
Ngoài ra Ado.Net còn hỗ trợ các Data Provider khác như
System.data.OcracleClient: Dành cho Ocracle
MicroSoft.data.Odbc: Dành cho dạng kết nối thong qua Odbc Connection của Hệ điều hành
Microsoft.Data.Sqlxml: Dành cho XML trên Sqlserver
Dim cnn As new SqlConnection("Data Source=(local);Initial Catalog=QLNV;User ID=sa;Password=")
cnn.Open()
Dim cmd As SqlCommand
cmd = cnn.CreateCommand()
cmd.CommandText = "select HotenNV from tblNhanVien where MaNV=5"
Dim result as String
result = cmd.ExecuteScalar()
cnn.Close()
MessageBox.Show(result)
Đối tượng DataAdapter dùng để lấy dữ liệu từ nguồn dữ liệu về cho ứng dụng, sử dụng một đối tượng gọi là DataAdapter. Đối tượng này cho phép lấy cấu trúc và dữ liệu của các bảng trong nguồn dữ liệu.
Tạo DataAdapter
Khai báo rõ DataAdapter sử dụng theo DataProvider nào: sqlDataAdapter hay OledbDataAdapter, hai lớp này thuộc tên miền:
System.Data.OleDb.OleDbDataAdapter
System.Data.SqlClient.SqlDataAdapter
Cú pháp tạo DataAdapter
New DataAdapter();
New DataAdapter(<Đối tượng SelectCommand>);
Trong đó, <Đối tượng SelectCommand> có sẵn nội dung lệnh truy xuất.
New DataAdapter(<Lệnh>,<Đối tượng Connection>)
DataAdapter chỉ thao tác với một nguồn dữ liệu qua một đối tượng connection đang kết nối, khi Connection chưa mở thì DataAdapter sẽ tự động mở kết nối khi cần và đóng lại.
DataTable: Fill()
DataSet: Fill([, <Tên dataTable>])
Phương thức trên trả về mẫu tin lấy về được
Dim DS as New Dataset()
Dim so As Integer
so= DA.Fill(DS,”Sinhvien”)
Là đối tượng truy cập dữ liệu trực tiếp, sử dụng con trỏ phía Server và duy trì kết nối với Server trong suốt quá trình đọc dữ liệu, DataReader thuộc tên miền System.data.OleDbDataReader hoặc System.Data.SqlDataReader
Trong khi DataReader đang mở, các thao tác dữ liệu trên nguồn dữ liệu đều không thể thực hiện cho đến khi DataRaeder đóng lại bằng lệnh Close.
Dataset là một mô hình CSDL quan hệ thu nhỏ đáp ứng nhu cầu của ứng dụng. Dataset chứa các bảng (DataTable) các quan hệ (DataRelation) và các ràng buộc (constraint). Dataset thuộc tên miền: System.Data.Dataset.
+ Khởi tạo:
New System.Data.Dataset()
Hoặc
New System.Data.Dataset(<tên Dataset>)
Tables.Add(): Một bảng mới tự động được tạo ra với tên mặc định Table1, Table2 . ..
Tables.Add(<Tên bảng>): Một bảng mới tạo ra theo đúng <tên bảng>
Ghi chú: Tên bảng có phân biệt chữ in, thường
Tables.Remove(<Tên bảng>): Xóa bảng ra khỏi tập hợp Table.
Tables.Contains(<Tên bảng>)
Tables.IndexOf(<tên bảng>)
Tables.Count
Tables(<Chỉ số>)
AcceptChanges()
RejectChanges()
Clear()
Clone()
Gọi phương thức Dispose() để giải phóng mọi tài nguyên trên vùng nhớ Dataset đang sử dụng.
Sau khi tạo kết nối với nguồn dữ liệu, mọi thao tác với nguồn dữ liệu đó đều được thực hiện thông qua Command. Tùy theo loại Connection đối tượng Command thuộc tên miền như sau:
System.Data.OleDb.OleDbCommand
System.Data.SqlClient.SqlCommand
Tạo Command
Có thể tạo Command thông qua đối tượng Connection bằng cách:
<Loại command> <Biến Command> = <Biến Connection>.CreateCommand();
<Biến Command>.CommandText = <Lệnh SQL>;
//Hoặc
<Biến Command> = New <Loại Command>(<Lệnh SQL>);
<Biến Command>.Connection=<Biến Connection>;
Các thuộc tính
CommandText: Lệnh SQL hay tên Stored Procedure cần thực hiện
CommandType: Giá trị cho biết nội dung CommandText là gì: Text (Mặc định, là câu lệnh SQL) hay StoredProcedure (thủ tục),..
Ví dụ:
SqlCommand cmd As SqlCommand = New SqlCommand();
cmd.Connection = cnn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select * From Khachhang Where MaKH=2";
Parameters
Lệnh SQL trong commandText có thể sử dụng dấu ? thay cho trị chưa xác định và khi thực hiện sẽ dùng đối tượng Parameters để truyền giá trị vào dấu ?. Tùy theo Command Parameter sẽ khai báo từ lớp OledbParameter hay SqlParameter. Cú pháp khai báo sau:
OleDbParameter | SqlParameter <tên Parameter> As New OleDbParameter | SqlParameter();
OleDbParameter | SqlParameter As New OleDbparameter | SqlParameter(<Tên>);
OleDbParameter | SqlParameter <Tên parameter> As New OleDbParameter | SqlParamter(<tên>,<giá_trị>);
Các thuộc tính cần chú ý:
Bài viết sau đây sẽ giới thiệu tới các bạn cách cập nhật cơ sở dữ liệu trở lại
Bài viết sẽ giới thiệu tới các bạn cách sử dụng điều khiển DataGrid trong VB.NET, chúng
Bài viết sau đây sẽ giới thiệu tới các bạn cách Tạo các điều khiển duyệt xem dữ liệu
Bài viết sau giới thiệu tới các bạn bài viết về cách Sử dụng các điều khiển ràng
Bài viết sau giới thiệu về chuyên mục Lập trình cơ sở dữ liệu và Lập trình với ADO.NET,
Bài viết sau đây sẽ giới thiệu tới các bạn về các tính chất của lập trình hướng đối
Bài viết sau đây sẽ giới thiệu tới các bạn về các khái niệm trong lập trình hướng đối
Bài viết sau giới thiệu về chuyên mục MODULE và Chương trình con trong VB.NET, chúng ta hãy
Bài viết sau đây xin giới thiệu tới các bạn về VB.NET, Khai báo và sử dụng mảng trong
Bài viết sau đây giới thiệu về chuyên mục các cấu trúc điều khiển chương trình trong