Dưới đây là một số giải thích:
sự khác biệt giữa lệnh Add và AddWithValue
Dim cmd as new SqlCommand("SELECT * FROM MyTable WHERE MyDate>@TheDate",conn)
cmd.Parameters.Add("@TheDate",SqlDbType.DateTime).Value="2/1/2007"
so với
cmd.Parameters.AddWithValue("@TheDate","2/1/2007")
"Add buộc chuyển đổi từ chuỗi thành ngày khi nó đi vào tham số. AddWithValue sẽ chỉ chuyển chuỗi vào SQL Server.
- http:// msdn. microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx
- http://msdn.microsoft.com/en-us/ thư viện / yy6y35y8.aspx
Chỉnh sửa :
ví dụ để lấy Tham số đầu ra:
C #
cmd.Parameters.Add(new SqlParameter("@TheNewId", SqlDbType.Int, int.MaxValue));
cmd.Parameters("@TheNewId").Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
int theNewID = (int)cmd.Parameters("@TheNewId").Value;
VB.Net
cmd.Parameters.Add(New SqlParameter("@TheNewId", SqlDbType.Int, Int32.MaxValue))
cmd.Parameters("@TheNewId").Direction = ParameterDirection.Output
cmd.ExecuteNonQuery()
Dim theNewID As Int32 = DirectCast(cmd.Parameters("@TheNewId").Value, Int32)