401
Chương 10: Cơ sở dữ liệu
•
System.Data.Odbc.OdbcParameter
•
System.Data.OleDb.OleDbParameter
•
System.Data.OracleClient.OracleParameter
•
System.Data.SqlServerCe.SqlCeParameter
•
System.Data.SqlClient.SqlParameter
Các thuộc tính của đối tượng thông số mô tả những thứ mà một đối tượng câu lệnh cần khi
thực thi một câu lệnh dựa trên data-source. Bảng 10.4 mô tả các thuộc tính thường được sử
dụng khi cấu hình cho thông số.
Bảng 10.4 Các thuộc tính của đối tượng thông số
Thuộc tính
Mô tả
DbType
Giá trị thuộc kiểu liệt kê
System.Data.DbType
, chỉ định kiểu dữ liệu
chứa trong thông số. Các giá trị thường được sử dụng là
String
,
Int32
,
DateTime
, và
Currency
.
Direction
Giá trị thuộc kiểu liệt kê
System.Data.ParameterDirection
, cho biết
hướng truyền dữ liệu cho thông số. Các giá trị hợp lệ là
Input
,
InputOutput
,
Output
, và
ReturnValue
.
IsNullable
Giá trị
bool
, cho biết thông số có chấp nhận giá trị
null
hay không.
ParameterName
Chuỗi chứa tên thông số.
Value
Đối tượng chứa giá trị của thông số.
Để sử dụng thông số với một câu lệnh text, bạn phải cho biết vị trí cần thay thế giá trị thông số
bên trong câu lệnh. ODBC, OLE DB, và SQL Server CE Data Provider hỗ trợ các thông số vị
trí (positional parameter); vị trí của mỗi thông số được nhận biết bằng dấu chấm hỏi (
?
). Ví
dụ, câu lệnh dưới đây cho biết có hai vị trí cần được thay thế bằng các giá trị thông số:
UPDATE Employees SET Title = ? WHERE EmployeeId = ?
SQL Server và Oracle Data Provider hỗ trợ các thông số được đặt tên (named parameter),
cho phép bạn chỉ định mỗi vị trí thông số bằng một tên với biểu tượng
@
đứng trước. Dưới đây
là câu lệnh tương đương như trên nhưng sử dụng thông số được đặt tên:
UPDATE Employees SET Title = @title WHERE EmployeeId = @id
Để chỉ định các giá trị thông số để thay thế vào một câu lệnh, bạn phải tạo các đối tượng
thông số đúng kiểu và thêm chúng vào tập hợp thông số của đối tượng lệnh (có thể được truy
xuất thông qua thuộc tính
Parameters
). Bạn có thể thêm các thông số được đặt tên theo thứ tự
bất kỳ, nhưng bạn phải thêm các thông số vị trí theo đúng thứ tự mà chúng xuất hiện trong câu
lệnh text. Khi bạn thực thi câu lệnh, giá trị của mỗi thông số sẽ được thay thế vào trong chuỗi
lệnh trước khi câu lệnh được thực thi dựa trên data-source.
Phương thức
ParameterizedCommandExample
được trình bày ở đây mô tả cách sử dụng thông
số trong lệnh
UPDATE
của SQL Server. Các đối số của phương thức
ParameterizedCommandExample
gồm một
SqlConnection
đang mở và hai chuỗi. Giá trị của hai
chuỗi này được thay thế vào trong lệnh
UPDATE
bằng thông số. Ví dụ sau đây trình bày hai