フォームで選択されたドキュメントの種類に応じて参照を計算し、自動インクリメントされる数値を連結することを目的としたこの小さなスクリプトをまとめました。参照を計算するときに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からのメッセージで、フィールドには長すぎる値を保存しようとしていることを示します。あなたのデータベースをチェックしてください。投稿したコードはおそらくエラーとは関係ありません。 –
コードが読めるようになったので、2番目の 'if'の前に' else'がありませんか? 'typeDocAbbr ==" DIV "ならば、' return'は 'else'ブロックで上書きされます。 –