gpt4 book ai didi

c# - foreach 语句不能对类型为 'System.Data.DataSet' 的变量进行操作

转载 作者:行者123 更新时间:2023-11-30 20:22:04 26 4
gpt4 key购买 nike

我正在尝试为图像创建缩略图并在 DataGrid 中显示该缩略图。我之前做过类似的事情,但这段代码有点不同,我在 foreach 上遇到了这个错误:

Error 2185 foreach statement cannot operate on variables of type 'System.Data.DataSet' because 'System.Data.DataSet' does not contain a public definition for 'GetEnumerator'

 protected void LoadVehicle(string Reg)
{
if (Request.QueryString["type"] == "vehicle")
{
int vehCount = 1;
DataSet veh = DataUtils.GetVehicleFromReg(Company.Current.CompanyID, Reg);
foreach (Vehicle vehicle in veh)
{
tabsPOD.Controls.Add(GetDivVehicle(vehCount, vehicle));
vehCount++;
}
}
}

我试图复制这段类似的代码:

protected void LoadDockets(int JobID)
{
if (Request.QueryString["type"] == "dbrief")
{
int DbriefCount = 1;

List<JobPieceSerialNo> Serials = JobPieceSerialNo.GetJobPieceSerialsByJob(JobID);
foreach (JobPieceSerialNo serNo in Serials)
{
tabsPOD.Controls.Add(GetDivDbrief(DbriefCount, serNo));
DbriefCount++;
}
}
}

问题是 GetVehicleFromReg 保存在一个名为 DataUtilies 的文件中,但随后车辆的所有属性都保存在一个名为 Vehicles 的类文件中。

最佳答案

问题是,数据集代表整个数据,包括表格和行。你不能迭代它。您可以迭代所有表:

foreach(DataTable table in dataSet.Tables)

甚至比表中的所有行:

foreach(DataRow row in table.Rows)

如果我可以假设你的数据集中只有一个表,那么你可以这样写:

foreach(DataRow row in veh.Tables[0].Rows)

但 id 取决于您的数据集具有的确切数据结构。

关于c# - foreach 语句不能对类型为 'System.Data.DataSet' 的变量进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com