小编vuk*_*hin的帖子

使用非常长(10000+个字符)的字符串作为SqlParameter值

我试图在数据库中执行insert命令,其中一列是nvarchar(MAX)类型.Insert命令是使用.NET SqlCommand类创建的,每个参数由一个SqlParameter对象表示.

我的命令总是被执行,但是当我传递长度很大(超过10000个字符)的字符串并且在插入后用作映射到nvarchar(MAX)类型的列的SqlParameter的值时,该特定列为空.我再说一遍,没有抛出异常,执行INSERT命令,但是列为空.

以下示例是我尝试创建参数的方式:

// message is the large string variable
// first solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, -1);

// second solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, message.Length);

// third solution
insertCommand.Parameters.Add("@message", SqlDbType.NVarChar, message.Length * 2);
Run Code Online (Sandbox Code Playgroud)

这些解决方案都没有给出结果.如果有人知道是什么问题请告诉我.

我正在使用MS SQL Server 2008.

提前致谢.

.net sql-server string ado.net

7
推荐指数
2
解决办法
2619
查看次数

标签 统计

.net ×1

ado.net ×1

sql-server ×1

string ×1