400
Chương 10: Cơ sở dữ liệu
Nếu muốn thực thi một truy vấn, nhưng chỉ cần giá trị thuộc cột đầu tiên của hàng đầu tiên
trong dữ liệu kết quả, bạn hãy sử dụng phương thức
ExecuteScalar
. Giá trị trả về là một tham
chiếu đối tượng và bạn cần ép nó về đúng kiểu. Dưới đây là ví dụ:
public static void ExecuteScalarExample(IDbConnection con) {
// Tạo và cấu hình câu lệnh mới.
IDbCommand com = con.CreateCommand();
com.CommandType = CommandType.Text;
com.CommandText = "SELECT COUNT(*) FROM Employees";
// Thực thi câu lệnh và ép kiểu kết quả.
int result = (int)com.ExecuteScalar();
Console.WriteLine("Employee count = " + result);
}
Các hiện thực
IDbCommand
trong Oracle và SQL Data Provider có hiện thực các
phương thức thực thi câu lệnh bổ sung. Mục 10.6 sẽ mô tả cách sử dụng phương
thức
ExecuteXmlReader
do lớp
SqlCommand
cung cấp. Bạn hãy tham khảo tài liệu
.NET Frameworks SDK để biết thêm chi tiết về các phương thức bổ sung
ExecuteOracleNonQuery
và
ExecuteOracleScalar
do lớp
OracleCommand
cung cấp.
4.
4.
S d ng thông s trong câu l nh SQL ho c th t c t n tr
ử ụ
ố
ệ
ặ
ủ ụ ồ ữ
S d ng thông s trong câu l nh SQL ho c th t c t n tr
ử ụ
ố
ệ
ặ ủ ụ ồ ữ
Bạn cần thiết lập các đối số của một thủ tục tồn trữ hoặc sử dụng các thông số
trong một câu lệnh SQL để cải thiện tính linh hoạt.
Tạo đối tượng thông số phù hợp với kiểu đối tượng câu lệnh mà bạn dự định
thực thi; tất cả các đối tượng thông số đều hiện thực giao diện
System.Data.IDataParameter
. Cấu hình kiểu dữ liệu, giá trị, và hướng của đối
tượng thông số và thêm chúng vào tập hợp thông số của đối tượng câu lệnh bằng
phương thức
IDbCommand.Parameters.Add
.
Tất cả các đối tượng câu lệnh đều hỗ trợ việc sử dụng thông số, do đó bạn có thể thực hiện các
công việc sau:
•
Thiết lập các đối số của thủ tục tồn trữ
•
Lấy các giá trị trả về từ thủ tục tồn trữ
•
Đổi các giá trị thành các câu lệnh text lúc thực thi
Giao diện
IDataParameter
mô tả một thông số và mỗi data-provider chứa một hiện thực duy
nhất. Dưới đây là danh sách các hiện thực
IDataParameter
cho năm data-provider chuẩn: