• DataTable和DataSet有什么区别


    代码示例:

    string sqlcoon = "Server=.;DataBase=abc;uid=sa;pwd=123456";
    SqlConnection coon = new SqlConnection(sqlcoon);
    string sql = "select * from SmarterCloud_Unit";
    SqlCommand cmd = new SqlCommand(sql,coon);
    coon.Open();
    //SqlDataReader
    //SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    //DataTable table = new DataTable();
    //table.Load(reader);
    //MessageBox.Show(table.Rows.Count.ToString());
    //this.dataGridView1.DataSource = table;


    //SqlDataAdapter
    SqlDataAdapter adptr = new SqlDataAdapter(sql, coon);
    DataSet ds = new DataSet();
    adptr.Fill(ds, "SmarterCloud_Unit");
    this.dataGridView1.DataSource = ds.Tables[0];

    DataSet:数据集。一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable   

    DataTable:数据表。   
    一:   
    SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
    DataTable   dt=new   DataTable();   
    da.Fill(dt);   
    -----------------   
    直接把数据结果放到datatable中,   
    二:   
    SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
    DataSet   dt=new   DataSet();   
    da.Fill(dt);   
    ----------------   
    数据结果放到dataset中,若要用那个datatable,可以这样:dataset[0]   
    更常见的用法:   
    SqlDataAdapter   da=new   SqlDataAdapter(cmd);   
    DataSet   dt=new   DataSet();   
    da.Fill(dt,"table1");   
    用的时候:这样取datatable:   
    dataset["table1"]  

    从。NET 2.0开始,你可以用一行代码解决转换问题:

        DataReader To DataTable

        Dim dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

        Dim dt As DataTable = New DataTable()

        dt.Load(dr)

        DataTable To DataReader

        Dim dt Ad DataTable = ……

        Dim dr As DataTableReader = dt.CreateDataReader()

        注意:1. 使用Load方法时,如果DataTable中已经存有数据,新旧数据将合并。(新数据是指从DataReader中读取的)

        2. DataTableReader 实现了 IDataReader,尽量使用接口。

        3. DataSet 也有类似 Load 和 CreateDataReader 方法。(有示例源码)

        请参阅MSDN文档 http://msdn2.microsoft.com/en-us/library/5fd1ahe2.aspx和 http://msdn2.microsoft.com/en-us/library/system.data.dataset.createdatareader.aspx

  • 相关阅读:
    如何判断栈的增长方向
    时间复杂度
    shell基础part3
    shell基础part2
    shell基础part2
    linux基础part5
    linux基础part4
    linux基础part3
    linux基础part2
    shell基础part1
  • 原文地址:https://www.cnblogs.com/xixim/p/4618097.html
Copyright © 2020-2023  润新知