• 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

  • 相关阅读:
    【笔记】常见的架构风格
    【笔记】机器学习的数学基础
    【入门】机器学习基础理论
    【产品】海康威视工业相机
    开源搜索引擎与框架
    xmodmap系列工具,用于键盘设置
    【转载】Linux中功能强大的截图工具: Flameshot
    Ubuntu系统环境及配置
    【入门】CloudCompare使用教程
    Linux安装NVIDIA显卡驱动
  • 原文地址:https://www.cnblogs.com/thinker/p/36238.html
Copyright © 2020-2023  润新知