当前位置:编程学习 > C#/ASP.NET >>

DataTable怎样遍历取值

for (int i =0; i < dt.Rows.Count; i++ )
{
    Response.Write(dt.Rows[i]["bjlbbm"].ToString()+"-");
    Response.Write(dt.Rows[i]["bjlbmc"].ToString());
}
此例出错了,循环出的数据不对,等高手解答。。。。 --------------------编程问答-------------------- 各种遍历方法 --------------------编程问答-------------------- for each DataRow row in dt.Rows
{
...
} --------------------编程问答-------------------- 请详细说明哈。。 --------------------编程问答--------------------
foreach(var row in dt.Rows)
{
    var value1 = Convert.ToString(row["bjlbbm"]);
    var value2 = Convert.ToString(row["bjlbmc"]);
    Response.Write("<p>" + value1 + "-" + value2 + "</p><br/>");
}
--------------------编程问答--------------------
引用 2 楼 gxttr 的回复:
for each DataRow row in dt.Rows
{
...
}


更新下 最近vb.net 代码写多了。。。应该是
foreach (DataRow row in dt.Rows)
{
Response.Write(row["bjlbbm"].ToString()+"-");
  Response.Write(row["bjlbmc"].ToString());
} --------------------编程问答-------------------- 嗯,谢谢4楼的。。。 --------------------编程问答--------------------
引用 4 楼 fangxinggood 的回复:
C# code
foreach(var row in dt.Rows)
{
    var value1 = Convert.ToString(row["bjlbbm"]);
    var value2 = Convert.ToString(row["bjlbmc"]);
    Response.Write("<p>" + value1 + "-" + value2 + "</p><br/……

您好,我是一个C#初学者,您为什么要用var类型了,用var型该出错的地方还是会出错啊 --------------------编程问答-------------------- 循环出的数据怎么不对?要说具体 --------------------编程问答-------------------- 两种遍历
foreach (DataRow dr in dt.Rows)
{
   StuInfos stu = new StuInfos();
   stu.ID = new Guid(dr[0].ToString());
   stu.StuName = dr[1].ToString();
    stu.Gender = dr[2].ToString();
    stu.Age = Convert.ToInt32(dr[3]);
    stulist.Add(stu);
}

for (int i = 0; i < dt.Rows.Count; i++)
{
   StuInfos stu = new StuInfos();
   stu.ID = new Guid(dt.Rows[i][0].ToString());
   stu.StuName = dt.Rows[i][1].ToString();
   stu.Gender = dt.Rows[i][2].ToString();
   stu.Age = Convert.ToInt32(dt.Rows[i][3]);
   stulist.Add(stu);
 } --------------------编程问答-------------------- 什么错误啊。是不是数据类型是空啊。 --------------------编程问答-------------------- 这两种都正确

引用 9 楼 gszyzzg 的回复:
两种遍历
foreach (DataRow dr in dt.Rows)
{
   StuInfos stu = new StuInfos();
   stu.ID = new Guid(dr[0].ToString());
   stu.StuName = dr[1].ToString();
    stu.Gender = dr[2].ToString();
    stu.A……
--------------------编程问答--------------------
DataTable dt = new DataTable();
            string p="";
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int k = 0; k < dt.Columns.Count; k++)
                {
                    p += dt.Rows[i][k].ToString() + "-";
                }
                p = p + "\n";
            }
            MessageBox.Show(p);
--------------------编程问答-------------------- 来迟了,楼上的可以。。。。。。 --------------------编程问答-------------------- 都是正姐。 --------------------编程问答-------------------- 没有VB.NET的吗? --------------------编程问答-------------------- 应该是你的索引错了,bjlbbm 是列名不是FieldName  --------------------编程问答-------------------- 这只能说明你还不懂DataTable!
DataTable下面后很多属性!其中一个是Rows(当前数据表是行数)
DataTable:数据表
数据是一行一行的!
每一行的数据类型就是DataRow(数据行)
数据行里面又有很多列,取值的时候根据下标、名字去取值!
id  name sex
1   li   男
DataRow[0]=DataRow["id"]

遍历的时候最好用foreach用名字去找
foreach(DataRow dr in dt.Rows)
{
   string id= dr["id"].tostring();
    ……
}
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,