C# 从数据集单元格获取值
我试图获取数据集中特定单元格的值。我的数据集至少有两个表(可能更多)。其中一个表有两列-Name$和Value$ 我必须按名称列搜索数据集,其中名称为“FirstName”,并保存与该特定名称对应的值 以下是我到目前为止的情况:C# 从数据集单元格获取值,c#,dataset,C#,Dataset,我试图获取数据集中特定单元格的值。我的数据集至少有两个表(可能更多)。其中一个表有两列-Name$和Value$ 我必须按名称列搜索数据集,其中名称为“FirstName”,并保存与该特定名称对应的值 以下是我到目前为止的情况: string val = null; foreach (DataTable dt in ds.Tables) { foreach (DataRow dr in dt.Rows) { foreach (DataColumn dc in dt
string val = null;
foreach (DataTable dt in ds.Tables)
{
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
object item = dr[dc];
if (item.ToString().Equals("Name$"))
{
// store the value for that name
}
}
}
}
请记住数据集中可能有许多表,了解这是如何发生的
编辑:以下是完整的解决方案:
foreach (DataTable dt in ds.Tables)
{
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
if (dc.ColumnName.ToString().Equals("Name$"))
{
if (row["Name$"].ToString().Equals("FirstName"))
{
firstName = (string)row[row.Table.Columns["Name$"].Ordinal + 1];
}
if (row["Name$"].ToString().Equals("LastName$"))
{
lastName = (string)row[row.Table.Columns["Name$"].Ordinal + 1];
}
}
}
}
}
使用ColumnName属性
string val = null;
foreach (DataTable dt in ds.Tables)
{
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
if(dc.ColumnName=="Name")
{
//save
}
}
}
}
for(int i=0;i
谢谢!我已经接受了你们的答案,我正在用完整的解决方案编辑我的帖子,以防其他人需要它。
foreach (DataRow dr in ds.Tables[0].Rows) //Tables[1]....
{
if(dr["ColumName"].ToString()==....)
// store the value for that name
}
for (int i = 0; i < ds.Tables.Count; i++)
{
foreach (DataRow dr in ds.Tables[i].Rows)
{
//dr....
}
}