398
Chương 10: Cơ sở dữ liệu
CommandTimeout
Số nguyên (
int
) chỉ định số giây đợi câu lệnh trả về trước khi hết thời
gian và ngoại lệ xảy ra. Mặc định là 30 giây.
CommandType
Một giá trị thuộc kiểu liệt kê
System.Data.CommandType
, chỉ định kiểu
câu lệnh được mô tả bởi đối tượng câu lệnh. Đối với hầu hết các data-
provider, giá trị hợp lệ là
StoredProcedure
(khi bạn muốn thực thi một
thủ tục tồn trữ), và
Text
(khi bạn muốn thực thi một câu lệnh SQL dạng
text). Nếu đang sử dụng OLE DB Data Provider, bạn có thể chỉ định
TableDirect
khi muốn trả về toàn bộ nội dung của một hoặc nhiều
bảng; hãy tham khảo tài liệu .NET Framework SDK để biết thêm chi
tiết. Mặc định là
Text
.
Connection
Đối tượng
IDbConnection
, cung cấp kết nối đến cơ sở dữ liệu mà bạn
sẽ thực thi câu lệnh trên đó. Nếu bạn tạo câu lệnh bằng phương thức
IDbConnection.CreateCommand
, thuộc tính này sẽ tự động được thiết
lập thành đối tượng
IDbConnection
mà bạn đã tạo câu lệnh từ nó.
Parameters
Đối tượng
System.Data.IDataParameterCollection
, chứa tập các
thông số để thay thế vào câu lệnh (xem mục 10.4 để biết cách sử dụng
thông số).
Transaction
Đối tượng
System.Data.IDbTransaction
, mô tả phiên giao dịch mà câu
lệnh được đưa vào đó (xem tài liệu .NET Framework SDK để biết thêm
chi tiết về phiên giao dịch).
Một khi bạn đã cấu hình đối tượng câu lệnh thì có nhiều cách để thực thi nó, tùy thuộc vào
bản chất của câu lệnh, kiểu dữ liệu do câu lệnh trả về, và bạn muốn xử lý dữ liệu theo định
dạng nào.
Để thực thi một câu lệnh như
INSERT
,
DELETE
, hoặc
CREATE TABLE
(không trả về dữ liệu trong
cơ sở dữ liệu), bạn hãy gọi
ExecuteNonQuery
. Đối với các câu lệnh
UPDATE
,
INSERT
, và
DELETE
,
phương thức
ExecuteNonQuery
trả về một số nguyên cho biết số hàng bị tác động bởi câu lệnh.
Đối với các câu lệnh khác như
CREATE TABLE
,
ExecuteNonQuery
trả về -1. Ví dụ dưới đây sử
dụng
UPDATE
để chỉnh sửa một bản ghi.
public static void ExecuteNonQueryExample(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 = "UPDATE Employees SET Title = 'Sales Director'" +
" WHERE EmployeeId = '5'";
// Thực thi câu lệnh và xử lý kết quả.
int result = com.ExecuteNonQuery();