【发布时间】:2011-10-28 17:01:02
【问题描述】:
不知道为什么我总是得到
此不包含具有 ParameterName 的 SqlParameter SqlParameterCollection
当我在其他方法中像这样很好地拉动和调用 procs 时。
proc 在那个外壳中确实有一个参数@EqId。
List<string> equipTypes = new List<string>();
Database db = DatabaseFactory.CreateDatabase("OurDBName");
DbCommand cmd = db.GetStoredProcCommand("Get_EquipTypes_By_ID");
db.DiscoverParameters(cmd);
cmd.Parameters["@EqId"].Value = equipID;
using (IDataReader objReader = db.ExecuteReader(cmd))
{
while (objReader.Read())
equipTypes.Add(DataUtility.GetStringFromReader(objReader, "Data"));
}
【问题讨论】:
-
为什么还要使用 DiscoverParameters?那是一个额外的往返,但你已经知道这个名字了。那是用于探测 procs 的工具。
标签: c# sql parameter-passing