2012-12-27 275 views
0

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

我已经试过这样:

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

减少字符串的长度,但是这个代码有错误了。

+1

数据库中该字段的列宽是多少? –

回答

3

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

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

0

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

0

它应该是,

string verapli1 = _infProt_verAplic.ToString(); 
if(verapli1.Length > 20) 
verapli1 =verapli1.Substring (0,20); 
0

问题是列nvarchar的(15), 当我写的程序我分配的SQL lenght到variabel

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

我只调整dhre到nvarchar to @dhre nvarchar(15)并正常工作。 ThansK。