我把这个小脚本放在一起,其目的是根据表单中选择的文档类型计算引用,并连接一个自动递增的数字。但是在保存时我收到此错误:
字符串或二进制数据将被截断
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);
}
答案 0 :(得分:0)
此错误:
the string or binary data would be truncated
不在您显示的代码上。这是一个SQL Server错误。 这意味着DB字段对于您尝试插入的值而言太小。
答案 1 :(得分:0)
好的人,我的坏。
我实际上弄清楚我哪里出错了。我共享的脚本的returnValue
用于提供由于某种原因最大大小为10的列。但是,正如你们中的一些人对我这样的初学者如此精心指出的那样,错误来自于表格,而不是脚本,表明该值对于列来说太大了(这就是她所说的)。
谢谢你们一些建设性的批评!