簡體   English   中英

如何在企業庫中的DbCommand上傳遞MySQL null參數

[英]How to Pass MySQL null parameter on DbCommand in Enterprise Library

我試圖在下面的代碼中為第一個參數傳遞一個空值,但是MySQL抱怨

Incorrect number of arguments for PROCEDURE myProc; expected 2, got 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)
);

您是否嘗試過EmptyAsNullContains(employeeNameText.Text)返回DBNull而不是常規null?

if(employeeNumberText.Text != "")
      db.AddInParameter(dbCommand, "in_employeeNumber", DbType.String, employeeNumberText.Text);
else
      db.AddInParameter(dbCommand, "in_employeeNumber", DbType.String, DBNull.Value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM