402
Chương 10: Cơ sở dữ liệu
cách để tạo đối tượng thông số: phương thức
IDbCommand.CreateParameter
, và phương thức
IDbCommand.Parameters
. Bạn cũng có thể tạo các đối tượng thông số bằng phương thức khởi
dựng và cấu hình chúng bằng các đối số của phương thức khởi dựng hoặc thông qua việc thiết
lập các thuộc tính của chúng.
public static void ParameterizedCommandExample(SqlConnection con,
string employeeID, string title) {
// Tạo và cấu hình một câu lệnh mới chứa 2 thông số được đặt tên.
SqlCommand com = con.CreateCommand();
com.CommandType = CommandType.Text;
com.CommandText = "UPDATE Employees SET Title = @title" +
" WHERE EmployeeId = @id";
// Tạo đối tượng SqlParameter cho thông số title.
SqlParameter p1 = com.CreateParameter();
p1.ParameterName = "@title";
p1.SqlDbType = SqlDbType.VarChar;
p1.Value = title;
com.Parameters.Add(p1);
// Sử dụng cú pháp tốc ký để thêm thông số id.
com.Parameters.Add("@id",SqlDbType.Int).Value = employeeID;
// Thực thi câu lệnh và xử lý kết quả.
int result = com.ExecuteNonQuery();
}
Khi sử dụng thông số để thực thi thủ tục tồn trữ, bạn phải cung cấp các đối tượng thông số đáp
ứng cho mỗi đối số do thủ tục tồn trữ yêu cầu—gồm cả đối số input và output. Bạn phải thiết
lập thuộc tính
Direction
của mỗi thông số như được mô tả trong bảng 10.4 (mặc định là
Input
). Nếu thủ tục tồn trữ có giá trị trả về, thông số giữ giá trị trả về (với thuộc tính
Direction
là
ReturnValue
) phải là thông số đầu tiên được thêm vào tập hợp thông số. Ví dụ
dưới đây sử dụng thông số để thực thi thủ tục tồn trữ:
public static void StoredProcedureExample(SqlConnection con,
string category, string year) {
// Tạo và cấu hình một câu lệnh mới.