كيفية تمرير الخلية المعلمة لاغية على DbCommand في مكتبة المؤسسة

StackOverflow https://stackoverflow.com/questions/287585

سؤال

وأنا أحاول تمرير قيمة فارغة للمعلمة الأولى في التعليمات البرمجية أدناه، ولكن الخلية يشكو من أن

Incorrect number of arguments for PROCEDURE myProc; expected 2, got 1

وعندما استدعاء الإجراء يدويا مع الوسيطة الأولى لاغيا، وأنها تعمل، ولكن عندما يعود EmptyAsNullStartsWith(employeeNumberText.Text) باطل، فإنه يشكو.

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 بدلا من اغية منتظم؟

نصائح أخرى

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 مع الإسناد
لا تنتمي إلى StackOverflow
scroll top