试图了解字符串的SqlParameterCollection.Add()大小参数

时间:2015-11-01 23:42:11

标签: c# asp.net sql-server tsql

我试图理解SqlParameterCollection.Add()方法中的size参数。只需阅读:

  

作为Int32的大小。

没有真正的帮助。

说,我的SQL Server表列定义如下:

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会抛出异常吗?

2 个答案:

答案 0 :(得分:2)

您可以找到SqlParameter.Size财产的完整文档。

根据文档,您可以看到该值将被截断以匹配大小,您将不会收到异常。

答案 1 :(得分:2)

您将不会遇到任何例外,并且“abcde”将被插入您的表格