• ADO.NET 2.0 Dataset和Datatable 新功能新特性


    ADO.NET 2.0 Dataset和Datatable 新功能新特性

    1.新的索引引擎更快的执行效率
       下面这段代码在2003中需要157秒,在2005中只要11秒就可以完成:

    DataSet ds = new DataSet();

    ds.Tables.Add(
    "BigTable");
    ds.Tables[
    0].Columns.Add("ID", Type.GetType("System.Int32"));
    ds.Tables[
    0].Columns["ID"].Unique = true;
    ds.Tables[
    0].Columns.Add("Value", Type.GetType("System.Int32"));

    Cursor.Current 
    = Cursors.WaitCursor;

    DateTime datBegin 
    = DateTime.Now;

    Random rand 
    = new Random();
    int i, intValue;
    DataRow dr;

    for (i = 1; i <= 500000; i++)
    {
        
    try
        
    {
            intValue 
    = rand.Next();

            dr 
    = ds.Tables[0].NewRow();

            dr[
    "ID"= intValue;
            dr[
    "Value"= intValue;

            ds.Tables[
    0].Rows.Add(dr);
        }

        
    catch { }
    }


    Cursor.Current 
    = Cursors.Default;

    MessageBox.Show(
    "Elapsed Time: " + (DateTime.Now - datBegin).Seconds.ToString());
    MessageBox.Show(
    "count = " + ds.Tables[0].Rows.Count.ToString());

    2.Dataset可以序列化为二进制文件

    string connstr = "server=(local);database=northwind;integrated security=true;async=true";
    DataSet ds 
    = new DataSet();
    SqlDataAdapter dadpt 
    = new SqlDataAdapter("select * from [order details]", connstr);
    dadpt.Fill(ds);

    BinaryFormatter bf 
    = new BinaryFormatter();
    FileStream fs 
    = new FileStream(@"c:\xml1.txt",FileMode.OpenOrCreate);

    ds.RemotingFormat 
    = SerializationFormat.Binary; 

    bf.Serialize(fs,ds);  

     3.更独立的Datatable

    DataTable Write XML  string connstr = "server=(local);database=northwind;integrated security=true;async=true";
    SqlDataAdapter dadpt 
    = new SqlDataAdapter("select * from [order details]", connstr);
    DataTable dt 
    = new DataTable("Customer");
    dadpt.Fill(dt);

    dt.WriteXml(
    @"c:\DataTable.xml",true);
    dt.WriteXmlSchema(
    @"c:\DataTableSchema.xml");   DataTable Read XML
    StreamReader sr 
    = new StreamReader(@"C:\DataTableSchema.xml");

    DataTable dt 
    = new DataTable();
    dt.ReadXmlSchema(sr);

    dt.ReadXml(
    new StreamReader(@"c:\dataTable.xml"));

    this.dataGridView1.DataSource = dt;    DataTable Merge
    string connstr = "server=(local);database=northwind;integrated security=true;async=true";
    SqlDataAdapter dadpt 
    = new SqlDataAdapter("select * from customers", connstr);
    DataTable dt 
    = new DataTable("Customer");
    dadpt.Fill(dt);

    SqlDataAdapter dadpt1 
    = new SqlDataAdapter("select * from customers", connstr);
    DataTable dt1 
    = new DataTable("Customer1");
    dadpt1.Fill(dt1);

    dt.Merge(dt1);

    this.dataGridView1.DataSource = dt;  DataTable Load DataReader
    string connstr = "server=(local);database=northwind;integrated security=true;async=true";
    SqlConnection conn 
    = new SqlConnection(connstr);
    conn.Open();
    SqlCommand cmd 
    = new SqlCommand("select * from [order details]", conn);
    SqlDataReader dr 
    = cmd.ExecuteReader();

    DataTable dt 
    = new DataTable("Customer");
    dt.Load(dr);

    this.dataGridView1.DataSource = dt;

    转载自:...

  • 相关阅读:
    高斯消元学习
    HDU 4596 Yet another end of the world(解一阶不定方程)
    Codeforces Round #318 div2
    HDU 4463 Outlets(一条边固定的最小生成树)
    HDU 4458 Shoot the Airplane(计算几何 判断点是否在n边形内)
    HDU 4112 Break the Chocolate(简单的数学推导)
    HDU 4111 Alice and Bob (博弈)
    POJ 2481 Cows(线段树单点更新)
    HDU 4288 Coder(STL水过)
    zoj 2563 Long Dominoes
  • 原文地址:https://www.cnblogs.com/ghx88/p/402910.html
Copyright © 2020-2023  润新知