zoukankan      html  css  js  c++  java
  • SQLDataReader vs Dataset

    Objective:
    To compare and contrast SQLDataReader and SQLDataSetCommand

    Target Audience
    ADO.NET programmer

    Environment
    SQL2000, Visual studio .NET Beta 1
    ibuyspy DataBase

    Structure Of Table
    CREATE TABLE [dbo].[OrderDetails] (
    [OrderID] [int] NOT NULL ,
    [ProductID] [int] NOT NULL ,
    [Quantity] [int] NOT NULL ,
    [UnitCost] [money] NOT NULL
    ) ON [PRIMARY]
    GO

    CREATE TABLE [dbo].[Products] (
    [ProductID] [int] IDENTITY (1, 1) NOT NULL ,
    [CategoryID] [int] NOT NULL ,
    [ModelNumber] [nvarchar] (50) COLLATE Korean_Wansung_CI_AS NULL ,
    [ModelName] [nvarchar] (50) COLLATE Korean_Wansung_CI_AS NULL ,
    [ProductImage] [nvarchar] (50) COLLATE Korean_Wansung_CI_AS NULL ,
    [UnitCost] [money] NOT NULL ,
    [Description] [nvarchar] (3800) COLLATE Korean_Wansung_CI_AS NULL
    ) ON [PRIMARY]

    Stored Procedure
    /* procedure name:NET_PopularProduct_SelectMaster
     * objective           :Weekly Best Items top 5
     */

    CREATE PROCEDURE NET_PopularProduct_SelectMaster 
    as 
    BEGIN 
     select top 5 o.productid,sum(o.quantity) as total,p.modelname 
     from orderdetails o,products p 
     where o.productid=p.productid 
     group by o.productid,p.modelname 
     order by total desc 
    END 
     
    *****************Source Code

    1)Using SQLDataSetCommand

    Conn=new Common.DBConn();
    SQLDataSetCommand Comm=new SQLDataSetCommand("NET_PopularProduct_SelectMaster",Conn);
    Comm.SelectCommand.CommandType=CommandType.StoredProcedure;
    DataSet ds=new DataSet();
    Comm.FillDataSet(ds,"PopItems");
    return ds;


    2)Using SQLDataReader

    Conn=new Common.DBConn();
    SQLCommand Comm=new SQLCommand("NET_PopularProduct_SelectMaster",Conn);
    Comm.CommandType=CommandType.StoredProcedure;
    Conn.Open();
    Comm.Execute(out reader);
    DataTable table=new DataTable("Top5");
    table.Columns.Add(new DataColumn("Product_ID",typeof(System.Int32)));
    table.Columns.Add(new DataColumn("Quantity",typeof(System.Int32)));
    table.Columns.Add(new DataColumn("Product_Name",typeof(System.String)));

    while(reader.Read())
    {
    datarow=table.NewRow();
    datarow[0]=reader.GetInt32(0);
    datarow[1]=reader.GetInt32(1);
    datarow[2]=reader.GetString(2);
    table.Rows.Add(datarow);
    }
    Conn.Close();
    return table;


                                       

    3) Using SQLDataSetCommand 0.0550645255       0.0126954643     0.0131178647 (SEC) 
        Using SQLDataReader --     0.0105256364       0.0104242265    0.0105105508

  • 相关阅读:
    变形金刚2中的各个角色,及车型(带图)第二篇。
    文字效果。这个比较好!
    发一个非常简单的效果,是在浏览器里面上下左右都居中的问题
    等高的css效果,很少见,原来都是用js 的,这回也有css的了,哈哈
    ie6最小宽度问题
    变形金刚2中的各个角色,及车型(带图)第一篇。
    差点吓死我,擦
    单车Eason
    学习了下简单的光照模型
    自我介绍
  • 原文地址:https://www.cnblogs.com/thinker/p/36238.html
Copyright © 2011-2022 走看看