gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 15:51:50 25 4
gpt4 key购买 nike

我正在尝试向数据库执行插入命令,其中一列的类型为 nvarchar(MAX)。插入命令是使用.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);

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

我使用的是 MS SQL Server 2008。

提前致谢。

最佳答案

根据MSDN

NVarChar:

String. A variable-length stream of Unicode characters ranging between 1and 4,000 characters. Implicit conversion fails if the string is greater than 4,000 characters.Explicitly set the object when working with strings longer than 4,000 characters.

这里是ntext:

String. A variable-length stream ofUnicode data with a maximum length of2 30 - 1 (or 1,073,741,823)characters.

另请查看this

关于.net - 使用非常长(10000+ 个字符)的字符串作为 SqlParameter 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3718663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com