Tin học 88 - chia sẻ kiến thức
ADS

Một số đối tượng trong không gian System.data trong VB.NET

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.

Mục lục

    1. Connection

    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).

    • Thuộc tính:
    • Data Provider: Chỉ ra “nhà cung cấp” dữ liệu. Chẳng hạn:

    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

    • ConnectionString: Quy định chuỗi kết nối đến CSDL - Trước khi thực hiện kết nối cần khai báo các thông tin cho Connection thông qua thuộc tính Connection String. Cách khai báo thay đổi tùy thuộc vào Data Bao gồm: Provider, Data Source, User ID, Password..
    • State: Trạng thái kết nối
    • Database: Tên CSDL
    • Server: Tên máy chủ chứa CSDL
    • Phương thức:
    • Open(): Mở kết nối đến CSDL
    • Close(): Đóng kết nối tới CSDL
    • CreateCommand(): Trả về đối tượng SqlCommand
    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)

    2. DataAdapter

    Đố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.

    • Các thuộc tính chính của DataAdapter
    • SelectCommand cho phép lấy thông tin từ nguồn dữ liệu về.
    • InsertCommand cho phép thêm dữ liệu vào bảng trong nguồn dữ liệu.
    • UpdateCommand cho phép điều chỉnh dữ liệu của bảng trong nguồn dữ liệu.
    • DeleteCommand cho phép xóa dữ liệu của bảng trong nguồn dữ liệu.
    • Các chức năng của DataAdapter
    • Lấy dữ liệu từ nguồn: Sử dụng DataAdapter để lấy dữ liệu về cho các đối tượng. Dữ liệu lấy về DataSet dưới dạng các dataTable với tên mặc định là: Table, Table1,.. Đổ dữ liệu vào Datset cho bảng DataTable nếu chưa có sẽ tạo mới, dùng phương thức Fill
    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”)
    • Để cập nhật dữ liệu về nguồn, dùng phương thức Update
    • Update(): Cập nhật các thay đổi trên tất cả các bảng của Dataset vào nguồn dữ liệu.
    • Update(): Cập nhật các thay đổi trên bảng vào nguồn dữ liệu.
    • Update(,<Tên bảng>) Cập nhật các thay đổi trên bảng trong Dataset vào nguồn dữ liệu..

    3. DataReader

    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

    • Các thuộc tính
    • FieldCount: Số cột trên dòng hiện hành của DataReader
    • IsClosed : Cho biết dataReader đã đóng hay chưa
    • Item: Trị của cột truyền vào. Tham số truyền vào là tên cột hoặc số thứ tự từ 0.
    • Các phương thức
    • Close: Đóng DataReader
    • GetFieldType: Trả về kiểu dữ liệu của cột truyền vào.
    • GetName: Trả về tên của cột truyền vào
    • GetValue: Trả về trị của cột truyền vào
    • Read : Di chuyển đến dòng kế tiếp và trả về true nếu còn dòng để di chuyển, ngược lại trả về False.
    • Chú ý

    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.

    4. DataSet

    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>)
    • Các phương thức
    • Thêm một bảng vào 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

    • Xóa bảng ra khỏi Dataset

    Tables.Remove(<Tên bảng>): Xóa bảng ra khỏi tập hợp Table.

    • Kiểm tra bảng có thuộc về Dataset

    Tables.Contains(<Tên bảng>)

    • Lấy chỉ số của bảng

    Tables.IndexOf(<tên bảng>)

    • Lấy số bảng trong Dataset

    Tables.Count

    • Lấy ra một bảng trong Dataset

    Tables(<Chỉ số>)

    • Để cập nhật các thay đổi trên Dataset

    AcceptChanges()

    • Để hủy các thay đổi trên Dataset

    RejectChanges()

    • Để xóa bỏ mọi dữ liệu trên dataSet

    Clear()

    • Để tạo một bản sao của Dataset

    Clone()

    • Để xóa bỏ Dataset

    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.

    5. Command

    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ú ý:

    • Direction: Giá trị cho biết loại tham số
    • Input: (mặc định) Loại tham số đầu vào
    • InputOutput: Loại tham số đầu vào và ra
    • Output: Loại tham số đầu ra
    • ReturnValue: Loại tham số nhận giá trị trả về Connection của một thủ tục
    • OleDbType/SqlDbType: Kiểu dữ liệu OleDb/SQLDb Connection của tham số.
    • ParameterName: Tên tham số
    • Value: Giá trị tham số




    Bài viết khác

    Cập nhật cơ sở dữ liệu trở lại bảng trong VB.NET

    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

    Cập nhật cơ sở dữ liệu trở lại bảng trong VB.NET

    Sử dụng điều khiển DataGrid trong VB.NET

    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

    Sử dụng điều khiển DataGrid trong VB.NET

    Tạo các điều khiển duyệt xem dữ liệu trong VB.NET

    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

    Tạo các điều khiển duyệt xem dữ liệu trong VB.NET

    Sử dụng các điều khiển ràng buộc dữ liệu trong VB.NET

    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

    Sử dụng các điều khiển ràng buộc dữ liệu trong VB.NET

    Lập trình cơ sở dữ liệu và Lập trình với ADO.NET

    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,

    Lập trình cơ sở dữ liệu và Lập trình với ADO.NET

    Các tính chất của lập trình hướng đối tượng trong VB.NET và lập trình hướng đối tượng với VB.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

    Các tính chất của lập trình hướng đối tượng trong VB.NET và lập trình hướng đối tượng với VB.NET

    Các khái niệm trong lập trình hướng đối tượng trong VB.NET

    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

    Các khái niệm trong lập trình hướng đối tượng trong VB.NET

    MODULE và Chương trình con trong VB.NET

    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

    MODULE và Chương trình con trong VB.NET

    Khai báo và sử dụng mảng trong VB.NET

    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

    Khai báo và sử dụng mảng trong VB.NET

    Các cấu trúc điều khiển chương trình trong VB.NET

    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

    Các cấu trúc điều khiển chương trình trong VB.NET

    phần mềm quản lý xét nghiệm Covidi-19

    Đề thi tham khảo