フェイルオーバーしてDatabase db = DatabaseFactory.CreateDatabase();
、理由がわかりません。手動パラメーターを宣言してストアドプロシージャを実行したところ、彼女は問題なく動作しました。とはいえ、エラーなどは出ていないので、何が悪いのかわかりません。その行の前と後の各行にコードの切れ目を入れて、Database db = DatabaseFactory.CreateDatabase();
そこで停止します。IDEに続行するように指示した後、その行をスキップして関数を終了します。
記録のために、私の参照もしっかりしています。私が行った別のプロジェクトからこのコードを共食いしたので、私はおそらく何かばかげたものを見逃しているだけです。とにかく、ここにコードがあります:
public class PullDebtor
{
public static DataTable ClientNumber(string strClientID)
{
DataSet dsDebtor = new DataSet();
dsDebtor.Tables.Add("Debtors");
DbCommand dbCommand = null;
try
{
Database db = DatabaseFactory.CreateDatabase();
string sqlCommand = "sp_PullClientID";
DbCommand dbCommand1 = db.GetSqlStringCommand(sqlCommand);
dbCommand1.CommandType = CommandType.StoredProcedure;
db.AddInParameter(dbCommand1, "@ClientID", DbType.String, strClientID);
db.ExecuteNonQuery(dbCommand1);
dsDebtor = db.ExecuteDataSet(dbCommand1);
}
catch
{
return dsDebtor.Tables[0];
}
finally
{
}
return dsDebtor.Tables[0];
}
}
}