0

以下のコードの最初のパラメーターに null 値を渡そうとしていますが、MySQL はそれを不平を言っています

PROCEDURE myProc の引数の数が正しくありません。期待 2、取得 1

最初の引数をnullとして手動でプロシージャを呼び出すと機能しますが、EmptyAsNullStartsWith(employeeNumberText.Text)nullを返すと文句を言います。

Database db = DatabaseFactory.CreateDatabase(
  ConfigurationManager.AppSettings["dbType"]
);
DbCommand cmd = db.GetStoredProcCommand("staff_listforinquiry");
db.AddeParameter(
  cmd, 
  "in_employeeNumber", 
  DbType.String, 
  EmptyAsNullStartsWith(employeeNumberText.Text)
);
db.AddeParameter(
  cmd, 
  "in_name", 
  DbType.String, 
  EmptyAsNullContains(employeeNameText.Text)
);
4

2 に答える 2

2

Did you try having EmptyAsNullContains(employeeNameText.Text) return DBNull instead of regular null?

于 2008-11-13T18:20:59.463 に答える
0
if(employeeNumberText.Text != "")
      db.AddInParameter(dbCommand, "in_employeeNumber", DbType.String, employeeNumberText.Text);
else
      db.AddInParameter(dbCommand, "in_employeeNumber", DbType.String, DBNull.Value);
于 2012-02-02T12:35:30.770 に答える