遍历DataTable

数据源

private static DataTable CreateDataTable()
{
    DataTable dt = new DataTable();
    dt.TableName = "TAccount";

    //添加列(定义列)
    dt.Columns.Add(new DataColumn() { ColumnName = "FID", DataType = typeof(int) });
    dt.Columns.Add(new DataColumn() { ColumnName = "FName", DataType = typeof(string) });
    dt.Columns.Add(new DataColumn() { ColumnName = "FAddTime", DataType = typeof(DateTime) });
    dt.Columns.Add(new DataColumn() { ColumnName = "FIsAgent", DataType = typeof(bool) });
    dt.Columns.Add(new DataColumn() { ColumnName = "FToken", DataType = typeof(Guid) });

    //行
    DataRow row1 = dt.NewRow();
    row1[0] = 36052;
    row1[1] = "f004";
    row1[2] = DateTime.Now;
    row1[3] = false;
    row1[4] = Guid.NewGuid();
    dt.Rows.Add(row1);//添加数据行

    //行
    DataRow row2 = dt.NewRow();
    row2[0] = 43672;
    row2[1] = "f1234";
    row2[2] = DateTime.Now;
    row2[3] = true;
    row2[4] = Guid.NewGuid();
    dt.Rows.Add(row2);//添加数据行

    return dt;
}

private static DataSet GetDataSet()
{
    DataSet ds = new DataSet();
    ds.DataSetName = "dsAccount";

    DataTable dt1 = new DataTable();
    dt1.TableName = "TAccount36052";

    //添加列(定义列)
    dt1.Columns.Add(new DataColumn() { ColumnName = "FID", DataType = typeof(int) });
    dt1.Columns.Add(new DataColumn() { ColumnName = "FName", DataType = typeof(string) });
    dt1.Columns.Add(new DataColumn() { ColumnName = "FAddTime", DataType = typeof(DateTime) });
    dt1.Columns.Add(new DataColumn() { ColumnName = "FIsAgent", DataType = typeof(bool) });
    dt1.Columns.Add(new DataColumn() { ColumnName = "FToken", DataType = typeof(Guid) });

    //行
    DataRow row1 = dt1.NewRow();
    row1[0] = 36052;
    row1[1] = "f004";
    row1[2] = DateTime.Now;
    row1[3] = false;
    row1[4] = Guid.NewGuid();

    dt1.Rows.Add(row1);//添加数据行


    DataTable dt2 = new DataTable();
    dt2.TableName = "TAccount43672";

    //添加列(定义列)
    dt2.Columns.Add(new DataColumn() { ColumnName = "FID", DataType = typeof(int) });
    dt2.Columns.Add(new DataColumn() { ColumnName = "FName", DataType = typeof(string) });
    dt2.Columns.Add(new DataColumn() { ColumnName = "FAddTime", DataType = typeof(DateTime) });
    dt2.Columns.Add(new DataColumn() { ColumnName = "FIsAgent", DataType = typeof(bool) });
    dt2.Columns.Add(new DataColumn() { ColumnName = "FToken", DataType = typeof(Guid) });

    //行
    DataRow row2 = dt2.NewRow();
    row2[0] = 43672;
    row2[1] = "f1234";
    row2[2] = DateTime.Now;
    row2[3] = true;
    row2[4] = Guid.NewGuid();

    dt2.Rows.Add(row2);//添加数据行


    ds.Tables.Add(dt1);
    ds.Tables.Add(dt2);
    return ds;
}
数据源

 

遍历DataTable

private static void BL1()
{
    DataTable dt1 = CreateDataTable();
    for (int i = 0; i < dt1.Rows.Count; i++)
    {
        //使用索引
        object FID = dt1.Rows[i][0];
        var FName = dt1.Rows[i][1];
        var FAddTime = dt1.Rows[i][2];
        var FIsAgent = dt1.Rows[i][3];
        var FToken = dt1.Rows[i][4];
    }
}

private static void BL2()
{
    DataTable dt2 = CreateDataTable();
    foreach (DataRow row in dt2.Rows)
    {
        //使用列名
        object FID = row["FID"];
        var FName = row["FName"];
        var FAddTime = row["FAddTime"];
        var FIsAgent = row["FIsAgent"];
        var FToken = row["FToken"];
    }
}

private static void BL3()
{
    DataTable dt3 = CreateDataTable();

    //1-foreach
    foreach (DataRow row in dt3.Rows)
    {
        for (int i = 0; i < dt3.Columns.Count; i++)
        {
            var obj = row[i];
        }
    }

    //2-for
    for (int i = 0; i < dt3.Rows.Count; i++)
    {
        for (int j = 0; j < dt3.Columns.Count; j++)
        {
            var obj = dt3.Rows[i][j];
        }
    }
}


//使用DataTableReader遍历数据
private static void BL4()
{
    //1-DataTable
    DataTable dt4 = CreateDataTable();
    DataTableReader reader = dt4.CreateDataReader();
    while (reader.Read())
    {
        var FID = reader["FID"];
    }


    //2-DataSet
    DataSet ds = GetDataSet();
    DataTableReader dsReader = ds.CreateDataReader();
    while (reader.Read())
    {
        var FID = reader["FID"];
    }

    dsReader.NextResult();
    while (reader.Read())
    {
        var FID = reader[0];
    }
}

 

private static void demo()
{
    StringBuilder builder = new StringBuilder();

    DataTable dt = CreateDataTable();
    //遍历列名
    foreach (DataColumn dc in dt.Columns)
    {
        builder.Append(String.Format("{0,15}", dc.ColumnName));
    }
    builder.AppendLine();

    ////遍历行数据
    foreach (DataRow dr in dt.Rows)
    {
        foreach (DataColumn dc in dt.Columns)
        {
            builder.Append(String.Format("{0,15}", dr[dc]));
        }
        builder.AppendLine();
    }

    Console.WriteLine(builder.ToString());
}
View Code

 

posted @ 2016-12-15 22:38  茗::流  阅读(176)  评论(1)    收藏  举报
如有雷同,纯属参考。如有侵犯你的版权,请联系我。