zoukankan      html  css  js  c++  java
  • DataReader 处理多个结果集NextResult的用法

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

    仔细查看您的数据库代码,看是否存在多次进入数据库的请求路径。每个这样的往返都会降低应用程序可以提供的每秒请求数量。通过在一个数据库请求中返回多个结果集,可以节省与数据库进行通信所需的总时间长度。同时因为减少了数据库服务器管理请求的工作,还会使得系统伸缩性更强。
    简单示例如下:

    一、返回多个数据集的存储过程
    CREATE PROC Proc ---Multiple Resultsets
    AS
    SELECT * FROM Users
    SELECT * FROM Users WHERE State = 'CA'
    GO

    二、取多个数据集的代码
       String ConnString = "User ID=sa;password=sa;Initial Catalog=pubs;Data Source=myServer";
       SqlConnection Connection = new SqlConnection(myConnString);
       SqlCommand Command = new SqlCommand();
       SqlDataReader reader ;

       Command.CommandType = CommandType.StoredProcedure;
       Command.Connection = Connection;
       Command.CommandText = "Proc";
       int RecordCount=0;
       try
       {
        Connection.Open();
        reader = command.ExecuteReader();
        int RecordCount=0;

        // read the data from that resultset
        while (reader.Read())
        {
         RecordCount = RecordCount + 1;
        }
        Response.Write("Total number of Users:" + RecordCount.ToString());

        // read the next resultset
        reader.NextResult();
        RecordCount = 0;

        // read the data from that second resultset
        while (reader.Read())
        {
         RecordCount = RecordCount + 1;
        }
        Response.Write("Total number of Users from California:" + RecordCount.ToString());
       }
       catch (Exception ex)
       {
        MessageBox.Show(ex.ToString());
       }
       finally
       {
        Connection.Close();
       }

  • 相关阅读:
    XSD文件生成C#VO实体类
    WPF根据Oracle数据库的表,生成CS文件小工具
    【求助】WPF 在XP下 有的Textbox光标会消失
    【转】oracle中in和exists的区别
    Spire.DOC生成表格测试
    【转】C#调用Windows图片和传真查看器打开图片
    WPF MVVM下做发送短信小按钮
    SignalR Progress
    C# readonly
    Settings.settings
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912156.html
Copyright © 2011-2022 走看看