0

我有这个字符串“SP-CTe-10-10-2012”。SQL 插入给出此错误“字符串或二进制文件将被截断,”

我试过这个:

string verapli1 = _infProt_verAplic.ToString();
string verapli2 =verapli1.Substring (verapli1.Length ,20);

减少字符串的长度,但这段代码也有错误。

4

4 回答 4

3

您的列字符串长度低于您的字符串长度。

增加数据类型长度(尝试将列类型更改为varchar(20))或在插入前减少值的长度。

于 2012-12-27T12:51:38.677 回答
0

这是一个 SQL Server 错误 - 意味着您的字符串不适合您尝试插入的字段。顺便说一句,不要将日期存储为字符串 - 这是糟糕的设计。

于 2012-12-27T12:50:52.803 回答
0

它应该是,

string verapli1 = _infProt_verAplic.ToString();
if(verapli1.Length > 20)
verapli1 =verapli1.Substring (0,20);
于 2012-12-27T12:53:27.773 回答
0

问题是列 nvarchar(15) 的 SQL 长度,当我编写分配给变量的过程时

             alter proc probandodata (@dhre nvarchar(30))as
             insert into ctrc5 (veraplic,numero)
             values(@dhre,5555555) 

我只将 dhre 调整为 nvarchar 到 @dhre nvarchar(15) 并且工作正常。谢谢。

于 2012-12-27T18:14:21.490 回答