C# 正在尝试理解字符串的SqlParameterCollection.Add()大小参数
我试图理解方法中的size参数。简单阅读: 大小为Int32 真的没用 例如,我的SQL Server表列定义如下:C# 正在尝试理解字符串的SqlParameterCollection.Add()大小参数,c#,asp.net,sql-server,tsql,C#,Asp.net,Sql Server,Tsql,我试图理解方法中的size参数。简单阅读: 大小为Int32 真的没用 例如,我的SQL Server表列定义如下: CREATE TABLE myTable ([col1] NVARCHAR(5)) 因此,当我向该表添加新行时: string strSQL = "INSERT INTO myTable ([col1]) " + "VALUES (@strCol1)"; string strValue = "abcdef"; using (SqlCommand cmd = ne
CREATE TABLE myTable
([col1] NVARCHAR(5))
因此,当我向该表添加新行时:
string strSQL = "INSERT INTO myTable ([col1]) " +
"VALUES (@strCol1)";
string strValue = "abcdef";
using (SqlCommand cmd = new SqlCommand(strSQL, connection))
{
cmd.Parameters.Add("@strCol1", SqlDbType.NText, 5).Value =
strValue;
cmd.ExecuteNonQuery();
}
我的col1列将添加什么值?或者cmd.Parameters.Add是否会引发异常?您可以找到属性的完整文档
根据文档,您可以看到该值将被截断以匹配大小,您将不会收到异常。您将不会收到异常,abcde将插入到您的表中感谢您的解释。我想知道为什么您否决了答案,而答案会引导您更正文档,然后您可以看到这一点该值将被截断以匹配大小。我想知道为什么在答案引导您更正文档时您否决了答案,您可以看到,然后该值将被截断以匹配大小。@RezaAghaei:我标记答案的人没有给我一个冗长MS文档的链接,而是用简单的语言解释了它。链接引导您需要了解Size属性,特别是当您将Size称为Int32时。真的没用。这意味着你需要更多的描述,而不仅仅是底线答案:我认为否决这样的答案可能会误导用户,你可以留下评论,而不是否决这样一个正确的答案。