using System;
using System.Data;
using System.Data.SqlClient; namespace Northwind
{
class Program
{
static void Main(string[] args)
{
SqlConnection sqlConn = null;
SqlCommand sqlCmd = null;
SqlDataReader sqlDR = null;
try
{
//创建连接对象,使用集成安全方式连接,更安全
sqlConn = new SqlConnection(@"data source=localhost;
Integrated Security=SSPI;Initial Catalog=northwind");
//创建命令对象,参数1是存储过程名
string strSql = @"select categoryid, categoryname from categories;"
+ @"select employeeId, lastname from employees";
sqlCmd = new SqlCommand(strSql, sqlConn); //打开数据库
sqlConn.Open();
//执行查询,并将结果集返回给SqlDataReader
sqlDR = sqlCmd.ExecuteReader(); //遍历所有的行,直到结束
do
{
Console.WriteLine(@"-------------------------------");
Console.WriteLine("{0, -15}{1,-15}", sqlDR.GetName(),
sqlDR.GetName());
Console.WriteLine(@"-------------------------------");
while (sqlDR.Read())
{
Console.WriteLine("{0, -15}${1,-15}", sqlDR.GetInt32(),
sqlDR.GetString());
}
Console.WriteLine(); } while (sqlDR.NextResult()); }
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
//关闭SqlDataReader对象
sqlDR.Close();
//断开数据库连接
sqlConn.Close();
} }
}
}

用SqlDataReader返回多个结果集的更多相关文章

  1. Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset

    原文 Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset DataSet相当你用的数据库: DataTable相当于你的表.一个 DataSet 可以包含多个 DataTab ...

  2. Oracle :一次数据库连接,返回多个结果集

    1. 一次数据库连接,返回多个结果集 1.1 建立包规范 create or replace package QX_GDJTJ is -- Author : xxx -- Created : 2012 ...

  3. Mybatis下配置调用Oracle自定义函数返回的游标结果集

    在ibatis和Mybatis对存储过程和函数函数的调用的配置Xml是不一样的,以下是针对Mybatis 3.2的环境进行操作的. 第一步配置Mapper的xml内容 <mapper names ...

  4. 查询返回JSON数据结果集

    查询返回JSON数据结果集 设计目标: 1)一次性可以返回N个数据表的JSON数据 2)跨数据库引擎 { "tables": [ { "cols": [ { & ...

  5. Atitit  jdbc 处理返回多个结果集

    Atitit  jdbc 处理返回多个结果集 Statement接口提供了三种执行SQL语句的方法: executeQuery.executeUpdate和execute.使用哪一个方法由SQL语句所 ...

  6. 轻量级ORM框架Dapper应用四:使用Dapper返回多个结果集

    使用Dapper的QueryMultiple方法可以一次执行多条SQL语句,返回多个结果集,代码如下 using System; using System.Collections.Generic; u ...

  7. thinkphp调用sqlserver储存过程返回多个结果集

    首先安装扩展 windows 分为两个步骤 找到对应自己PHP版本的pdo扩展,下载解压出来,并且在php.ini里面启用扩展,需要注意的问题是php版本以及是否为安全版本 下载 ODBC Drive ...

  8. Spring data jpa 调用存储过程处理返回参数及结果集

    一.环境 1.此随笔内容基于spring boot整合的spring data jpa项目, 2.数据库为mysql 5.7.9版本 二.内容 1. 新建存储过程 pro_query_object B ...

  9. php查询mysql返回大量数据结果集导致内存溢出的解决方法

    web开发中如果遇到php查询mysql返回大量数据导致内存溢出.或者内存不够用的情况那就需要看下MySQL C API的关联,那么究竟是什么导致php查询mysql返回大量数据时内存不够用情况? 答 ...

随机推荐

  1. 读书笔记第三周 人月神话 刘鼎乾 PB16070837

    读书笔记第三周:人月神话   这本书主要讲述了如何管理一个软件开发团队的问题,其中如何提高团队的效率可以说是本书的重点之一了.感觉这本书地中文版翻译得比较晦涩,很多表达比较模糊,看起来有些吃力,因此下 ...

  2. oracle数据库 sqlplus

  3. CorelDRAW教程:怎样绘制制作箭头流程图?

    箭头流程图主要由矢量图和连接符组成,通过图形之间的顺序阐述的一个过程,应用也是非常广泛,有些软件中会自带流程图,对于CDR这款矢量绘图软件来说,手动制作流程图是简单且高效的.首先CorelDRAW中就 ...

  4. Python安装遇到的问题

    1.import MySQLdb  错误 导入MySQLdb模块时报错: >>> import MySQLdb Traceback (most recent call last): ...

  5. 51nod 237 最大公约数之和 V3 杜教筛

    Code: #include <bits/stdc++.h> #include <tr1/unordered_map> #define setIO(s) freopen(s&q ...

  6. 路飞学城Python-Day19(Py_Notes)

    # 先定义类 class LuffyStudent: school = 'luffy' def learn(self): print('学习使我快乐') def eat(self): print('吃 ...

  7. node——try-catch与异步操作

    //try-catch,用于捕获异常 //try-catch在node中只能捕获同步的异常,不能捕获异步异常 var fs=require('fs'); /*fs.writeFile('./abc.t ...

  8. Jenkins学习总结(4)——持续集成,持续交付,持续部署之间的区别

    经常会听到持续集成,持续交付,持续部署,三者究竟是什么,有何联系和区别呢? 假如把开发工作流程分为以下几个阶段: 编码 -> 构建 -> 集成 -> 测试 -> 交付 -> ...

  9. POJ 2154

    这题的时间卡的.... 必须用欧拉来优化,而且要加素数表.最重要是,因为最后结果要/n,而数据很大,所以,必须在之前就先/n了,否则会爆数据. #include <iostream> #i ...

  10. BCB使用线程删除目录中的图片

    BCB新建线程DeleteImgThread类.其会默认继承Thread类,然后在Execute函数中编写代码, void __fastcall DeleteImgThread::Execute() ...