码迷,mamicode.com
首页 > 数据库 > 详细

C# 通过DataSet 获取SQL 存储过程返回的多个结果集(tables)

时间:2020-03-28 16:09:14      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:存储   技术   创建   write   obj   ace   sys   source   EAP   

测试数据:Northwind

链接地址: https://files.cnblogs.com/files/louiszh/NorthWind.zip

首先创建一个测试存储过程:

IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE id = object_id (pr_test))
   DROP PROCEDURE pr_test
go

CREATE PROCEDURE pr_test
AS
SELECT TOP 4 * FROM Customers

SELECT TOP 4  * FROM Employees
GO

EXEC pr_test

返回两个结果集:

 

技术图片

 

 在C#代码中通过DataSet集合获取存储过程结果集:

using System;
using System.Data;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string connStr = "Data Source=.;Initial Catalog=Northwind;User ID=sa;Password=root";
            SqlConnection conn = null;
            conn = new SqlConnection(connStr);
            conn.Open();
            string sql = "exec pr_test";
            SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            sda.Fill(ds);    
            DataTable dt_customer = ds.Tables[0];
            DataTable dt_employee = ds.Tables[1];
            Console.WriteLine(dt_customer.Rows.Count);

        }
    }
}

 查看 DataSet是包含两个Table的:

 技术图片         技术图片

 

C# 通过DataSet 获取SQL 存储过程返回的多个结果集(tables)

标签:存储   技术   创建   write   obj   ace   sys   source   EAP   

原文地址:https://www.cnblogs.com/louiszh/p/12587652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!