【发布时间】:2011-09-18 18:21:07
【问题描述】:
string connection = "Data Source=" + server + ";Initial Catalog=" + dbase +
";User ID=" + userid + ";Password=" + password;
conn = new SqlConnection(connection);
conn.Open();
SqlCommand cmd = new SqlCommand("SUBNETTEMP", conn);
cmd.CommandType = CommandType.StoredProcedure;
Parameters d = new Parameters();
d.addparam(15, 1);
d.addparam(15, 2);
foreach (var param in d)
{
cmd.Parameters.Add(new SqlParameter(param.Key, param.Value));
}
有一个类叫做参数:
class Parameters
{
Dictionary<int, int> paramids;
public Dictionary<int, int> addparam(int sid, int sbid)
{
if (paramids == null)
paramids = new Dictionary<int, int>();
paramids.Add(sid, sbid);
return paramids;
}
}
我不确定为什么会出现错误:“foreach 语句无法对“ConsoleApplication1.Parameters”类型的变量进行操作,因为“ConsoleApplication1.Parameter”不包含 GetEnumerator 的公共定义。
【问题讨论】:
-
错误信息的哪一部分无法理解?你知道为什么
foreach可以在数组上工作,但不能在例如数组上工作。在DateTime? -
我不明白你为什么觉得你需要定义那个类。为什么不直接使用字典呢?或者更好的是,将参数直接添加到命令中?
-
我同意杰夫的观点。这个类很可能是不必要的。
标签: c#