【发布时间】:2017-01-23 16:43:35
【问题描述】:
我在此站点中看到的所有相关主题都讨论了存储过程等。我有一个 C# 程序,它接收一个字符串(从哪里不重要,可能是文件或上传)并尝试将其插入到 varchar(MAX) 列中。我的代码是这样的:
command.Parameters.AddWithValue("@pxslt", mer.XsltTemplate);
它引发了一个错误:
字符串或二进制数据将被截断。
我改成:
command.Parameters.Add("@pxslt", SqlDbType.).Value = mer.XsltTemplate;
但它仍然会引发相同的错误。
解决办法是什么?我的字符串大小约为 8100 个字符。
【问题讨论】:
-
检查数据库中列的大小,这个问题可能与stackoverflow.com/questions/5591473/…重复
-
您的代码不正确...
SqlDbType.VarChar并分配一个最大值参数? -
即使该列确实是 varchar(MAX),存储过程参数也可能声明不正确,因此请务必检查。
-
也许发布你的 SQL 命令。
标签: c# sql-server insert varchar