我將這個小腳本放在一起,其目標是根據表單中選擇的文檔類型計算參考,並連接一個自動遞增的數字。保存時,我卻收到此錯誤:在計算參考時出現C#問題
字符串或二進制數據將被截斷
string typeDocAbbr = doc.GetStringValue("Document_type_Abbr");
string textRef = doc.GetStringValue("text_reference");
if (typeDocAbbr == "DIV")
returnValue = string.Format("{0}-{1}", typeDocAbbr, textRef);
if ((typeDocAbbr == "FIC") || (typeDocAbbr == "FTC") || (typeDocAbbr == "FDP"))
returnValue = string.Format("{0}-{1}", typeDocAbbr, textRef);
else
{
int chrono = 0;
string schrono = "";
if(string.IsNullOrEmpty(doc.GetStringValue("Reference")))
{
if (!string.IsNullOrEmpty(typeDocAbbr))
{
EDITOR.Documents.DataSource.ChronoManagerWrapper cmw =
new EDITOR.Documents.DataSource.ChronoManagerWrapper();
string Key = typeDocAbbr;
chrono = cmw.GetNewChrono("Process Studio", Key);
if (chrono < 10)
schrono = "0" + chrono.ToString();
else
schrono = chrono.ToString()};
}
}
returnValue = string.Format("{0}-{1}", typeDocAbbr, schrono);
}
這就是調試器的用途....(和單元測試) –
字符串或二進制數據將被截斷是來自Sql Server的消息,表明您正在嘗試保存一個對於字段來說太長的值。檢查你的分貝。您發佈的代碼可能與該錯誤無關。 –
既然你的代碼是可讀的......你在第二個'if'之前是否缺少'else'?現在,如果'typeDocAbbr ==「DIV」','returnvalue'將被覆蓋在'else'塊中。 –