CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 403

403

Chương 10: Cơ sở dữ liệu

SqlCommand com = con.CreateCommand();

com.CommandType = CommandType.StoredProcedure;

com.CommandText = "SalesByCategory";

// Tạo đối tượng SqlParameter cho thông số category.

com.Parameters.Add("@CategoryName",SqlDbType.NVarChar).Value

= category;

// Tạo đối tượng SqlParameter cho thông số year.

com.Parameters.Add("@OrdYear",SqlDbType.NVarChar).Value = year;

// Thực thi câu lệnh và xử lý kết quả.

using (IDataReader reader = com.ExecuteReader()) {

§

}

}

5.

5.

X lý k t qu c a truy v n SQL b ng data-reader

ế

ả ủ

X lý k t qu c a truy v n SQL b ng data-reader

ế

ả ủ

Bạn cần xử lý dữ liệu chứa trong đối tượng

System.Data.IDataReader

(đối tượng

này được trả về khi bạn thực thi phương thức

IDbCommand.ExecuteReader

—đã

được thảo luận trong mục 10.3).

Sử dụng các thành viên của đối tượng

IDataReader

để duyệt tuần tự các hàng

trong tập kết quả và truy xuất các item dữ liệu chứa trong mỗi hàng.

Giao diện

IDataReader

mô tả một data-reader, đây là một cơ chế chỉ-tiến, chỉ-đọc (forward-

only, read-only) để truy xuất kết quả của truy vấn SQL. Mỗi data-provider chứa một hiện thực

IDataReader

duy nhất. Dưới đây là danh sách các hiện thực

IDataReader

cho năm data-

provider chuẩn:

System.Data.Odbc.OdbcDataReader

System.Data.OleDb.OleDbDataReader

System.Data.OracleClient.OracleDataReader

System.Data.SqlServerCe.SqlCeDataReader

System.Data.SqlClient.SqlDataReader

Giao diện

IDataReader

thừa kế giao diện

System.Data.IDataRecord

. Các giao diện này khai

báo các chức năng truy xuất dữ liệu và cấu trúc của dữ liệu có trong tập kết quả. Bảng 10.5
mô tả vài thành viên thông dụng của giao diện

IDataReader

IDataRecord

.

Ngoài các thành viên được liệt kê trong bảng 10.5, data-reader còn cung cấp một tập các
phương thức thực hiện việc lấy dữ liệu đã được định kiểu từ hàng hiện tại. Mỗi phương thức
sau đây nhận vào một đối số nguyên cho biết chỉ số (đánh từ 0) của cột mà dữ liệu sẽ được trả

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.