Console.WriteLine(ds.Tables["mie"].Rows[i]);应该换成Console.WriteLine(ds.Tables["mie"].Rows[i]["列名"]);
ds.tables["mie"]是一张表 上面你填充的那张表
rows[i][“列名"] i是第几行 合起来就是这张表的 第i行中的["列名"]列 可以找到一个元素 但是表中必须有数据 语言描述的不是太准确 但大致都说出来了 希望能帮到你
Console.WriteLine(ds.Tables["mie"].Rows[i]);
换为:
for(int m=0;m< ds.Tables["mie"].Cols.Count;m++)
{
Console.WriteLine(ds.Tables["mie"].Rows[i][m]);
}
i <=ds.Tables["mie"].Rows.Count 去掉“=”即可
索引超过数组长度的问题,也就是下标越界,在循环里面,i的最大值是tabels的长度减去1,因为i是从0开始的。代码做小小的修改就行了:
i < ds.Tables["mie"].Rows.Count
for (int i = 0; i <=ds.Tables["mie"].Rows.Count; i++)
修改为
for (int i = 0; i
DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataRow tr = dt.NewRow();
DataColumn dc1 = new DataColumn();
dc1.ColumnName = "第一列";
DataColumn dc2 = new DataColumn();
dc2.ColumnName = "第二列";
DataColumn dc3 = new DataColumn();
dc3.ColumnName = "第三列";
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
for (int i = 1; i <= 100; i++)
{
if (i % 3 == 0)
{
DataRow trNew = dt.NewRow();
trNew["第一列"] = i + "第一列";
trNew["第二列"] = i + "第二列";
trNew["第三列"] = i + "第三列";
dt.Rows.Add(trNew);
}
}
ds.Tables.Add(dt);
foreach (DataRow item in ds.Tables[0].Rows)
{
foreach (DataColumn colum in ds.Tables[0].Columns)
{
Console.WriteLine(colum.ColumnName + ":" + item[colum.ColumnName].ToString());
Response.Write(colum.ColumnName + ":" + item[colum.ColumnName].ToString() + "
");
}
}