for SqlCommand.Parameters.Add
方法重载,包括Size参数,在MSDN中规定:
“当您添加a的参数时,此重载非常有用 可变长度数据类型,例如varchar或binary。“
并举例说明:
public void AddSqlParameter(SqlCommand command)
{
SqlParameter param = new SqlParameter(
"@Description", SqlDbType.NVarChar, 16);
param.Value = "Beverages";
command.Parameters.Add(param);
}
我更难理解:
Size参数应该提供什么? DB结构中的列长度或当前的长度参数值还是它们的Min()?或其他什么?
是否仅适用于“varchar
或binary
”或其他文字Sql Server类型,例如char
,nvarchar
等。?
OR
编辑:我的具体案例:
如果在数据库列name
中varchar(10)
,但我在C#String lName
中的长度为15,那么我必须在Parameters.Add:10或lName.Length
或...中添加?
答案 0 :(得分:1)
如果未在size参数中明确设置,则从dbType参数的值推断出大小。
SqlParameter Constructor (String, SqlDbType, Int32)
Size属性用于二进制和字符串类型。对于SqlType.String类型的参数,Size表示Unicode字符的长度。对于SqlType.Xml类型的参数,将忽略Size。