C# 检查数据库中的数据时发生Foreach错误
我正在编写一小段代码来循环遍历数据库数据。我从数据库中获取行,并希望使用foreach循环一行。然后在foreach中,我正在尝试生成一条控制台消息,以便查看它是否有效 函数C# 检查数据库中的数据时发生Foreach错误,c#,C#,我正在编写一小段代码来循环遍历数据库数据。我从数据库中获取行,并希望使用foreach循环一行。然后在foreach中,我正在尝试生成一条控制台消息,以便查看它是否有效 函数Common.Log是我和同事共同开发的函数 代码如下: SqlParameter bonIdParam = new SqlParameter("bonId", bonId); DataTable controleTable = RidderQuery(controleQuery, bonIdParam); DataRow
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);
}
SqlParameter-bonIdParam=新的SqlParameter(“bonId”,bonId);
DataTable controleTable=RidderQuery(controleQuery,BondParam);
DataRow ControlRow=controleTable.Rows[0];
int code=controleRow.Field(“code”);
int productionDone=queryRow.Field(“productionDone”);//1=真,0=假
foreach(controleRow.字段(“代码”)中的int checkedCode)
{
Common.Log(checkedCode.ToString);
}
我遇到的问题是,foreach循环不工作。是的,我知道这很不清楚,但我不知道如何更好地解释它。
以下是我遇到的错误:
- 错误3:参数1:无法从“方法组”转换为“字符串”
- 错误1:foreach语句无法对“int”类型的变量进行操作,因为“int”不包含“GetEnumerator”的公共定义
- 错误2:与“LocatieVerwerkingWifi.Common.Log(字符串)”匹配的最佳重载方法具有一些无效参数
foreach(int checkedCode in queryRow.Field<int>("CODE"))
foreach(queryRow.Field(“code”)中的int checkedCode)
但我不明白出了什么问题。有人能解释/帮助我解决这个问题吗?
是一个controleRow
和DataRow
返回一个无法枚举的整型字段李>controleRow.Field(“code”)
- 在C#
必须是中,checkedCode.ToString
checkedCode.ToString()
foreach(DataRow row in controleTable.Rows)
{
int checkedCode = row.Field<int>("CODE");
Common.Log(checkedCode.ToString());
}
您尚未显示
queryRow
的声明或初始化。另外,heckedCode.ToString
必须是C#中的heckedCode.ToString()
。应该像我说的那样进行控制Common.Log是我自己的函数,所以很常见。LogCommon是类,所以常用的函数,比如Log函数感谢awnser,但我只想通过代码循环,而不是通过其他行循环,我可以用同样的方法吗?@CKY:这是什么意思?你想如何让o循环通过一个整数?谁说它是一个整数,我有两个整数CODE@CKY:看看我编辑过的答案。我展示了一种LINQ方法,它选择所有代码并使用String.Join
将它们用逗号连接起来。
var allCodes = controleTable.AsEnumerable().Select(r => r.Field<int>("CODE"));
Common.Log(string.Join(",", allCodes));