我有这个字符串“SP-CTe-10-10-2012”。 SQL插入给出了这样的错误“字符串或二进制将被截断,”截断字符串错误
我已经试过这样:
string verapli1 = _infProt_verAplic.ToString();
string verapli2 =verapli1.Substring (verapli1.Length ,20);
减少字符串的长度,但是这个代码有错误了。
我有这个字符串“SP-CTe-10-10-2012”。 SQL插入给出了这样的错误“字符串或二进制将被截断,”截断字符串错误
我已经试过这样:
string verapli1 = _infProt_verAplic.ToString();
string verapli2 =verapli1.Substring (verapli1.Length ,20);
减少字符串的长度,但是这个代码有错误了。
您的列字符串长度低于您的字符串长度。
增加数据类型长度(尝试将列类型更改为varchar(20)
)或在插入前减少值的长度。
这是一个SQL Server错误 - 意味着你的字符串不适合你想要插入它的字段。顺便说一句,不要将日期存储为字符串 - 这是糟糕的设计。
它应该是,
string verapli1 = _infProt_verAplic.ToString();
if(verapli1.Length > 20)
verapli1 =verapli1.Substring (0,20);
问题是列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。
数据库中该字段的列宽是多少? –