【发布时间】:2015-07-02 11:46:18
【问题描述】:
我正在编写一小段代码来遍历我的数据库数据。我从数据库中获取行,并希望使用 foreach 循环遍历其中的行。然后在 foreach 中,我目前正在尝试制作一条控制台消息,以便查看它是否有效。
函数Common.Log是我自己和同事做的函数。
这是代码:
SqlParameter bonIdParam = new SqlParameter("bonId", bonId);
DataTable controleTable = RidderQuery(controleQuery, bonIdParam);
DataRow controleRow = controleTable.Rows[0];
int code= controleRow .Field<int>("CODE");
int productionDone = queryRow.Field<int>("PRODUCTIONDONE"); // 1 = true, 0 = false
foreach(int checkedCode in controleRow .Field<int>("CODE"))
{
Common.Log(checkedCode.ToString);
}
我遇到的问题是,foreach 循环不起作用。是的,我知道这很不清楚,但我不知道如何更好地解释它。 所以这些是我得到的错误:
错误 3:参数 1:无法从“方法组”转换为“字符串”
错误 1:foreach 语句无法对“int”类型的变量进行操作,因为“int”不包含“GetEnumerator”的公共定义
错误 2:“LocatieVerwerkingWifi.Common.Log(string)”的最佳重载方法匹配有一些无效参数
我可以做些什么来修复这些错误?我认为问题出在这一行:
foreach(int checkedCode in queryRow.Field<int>("CODE"))
但我不明白出了什么问题。有人可以解释/帮助我解决这个问题吗?
【问题讨论】:
-
你没有显示
queryRow的声明或初始化。此外,heckedCode.ToString在 C# 中必须是heckedCode.ToString()。 -
应该是 controleRow
-
就像我说的那样,Common.Log 是我自己的函数,所以是 Common.Log
-
Common是类,所以常用的函数比如Log函数
标签: c#