2012-12-27 497 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。