mssql server 返回多表结果集

mssqlserver 代码

create PROCEDURE [dbo].[gd]

AS
BEGIN SELECT 1,12 SELECT 21,22
END

C#代码

    using (SqlConnection conn = new SqlConnection("Data Source=服务器;Initial Catalog=数据库;Persist Security Info=True;User ID=用户名;Password=密码"))
{
//查询少量数据时,用适配器(内部就是用 读取器 读取数据然后装入 数据集/数据表 返回)
SqlDataAdapter da = new SqlDataAdapter("gd", conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
//创建数据表
DataTable dt = new DataTable();
DataSet ds = new DataSet();
//执行查询并填充数据
da.Fill(ds);
conn.Close();
da.SelectCommand.Dispose();
da.SelectCommand.Parameters.Clear(); }

访问形式

                string tab1row1col1 = ds.Tables[].Rows[][].ToString();

                string tab1row1col2 = ds.Tables[].Rows[][].ToString();

                string tab2row1col1 = ds.Tables[].Rows[][].ToString();

                string tab2row1col2 = ds.Tables[].Rows[][].ToString();

mssql server 返回单表结果集

C#代码

  using (SqlConnection conn = new SqlConnection("Data Source=服务器;Initial Catalog=数据库;Persist Security Info=True;User ID=用户名;Password=密码"))
{
SqlDataAdapter da = new SqlDataAdapter("gd", conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
//创建数据表
DataTable dt = new DataTable();
//执行查询并填充数据
da.Fill(dt);
conn.Close();
da.SelectCommand.Dispose();
da.SelectCommand.Parameters.Clear(); }

mssql server return返回

mssqlserver 代码

create PROCEDURE [dbo].[gd_return]

AS
BEGIN return '' END

C#代码

  using (SqlConnection conn = new SqlConnection("数据库连接字符串"))
{
SqlParameter[] cmdParms = {new SqlParameter("@return",SqlDbType.VarChar)}; cmdParms[].Direction= ParameterDirection.ReturnValue; SqlCommand sqlCommand = new SqlCommand("gd_return", conn);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.AddRange(cmdParms);
conn.Open();
sqlCommand.ExecuteNonQuery();
object bj = cmdParms[].Value;
string result = bj.ToString();
}

mssql server output返回

mssqlserver 代码

create PROCEDURE [dbo].[gd_output]
@test1 int output,
@test2 int output
AS
BEGIN set @test1=1; set @test2=2; END

C#代码

using (SqlConnection conn = new SqlConnection("数据库连接字符串"))
{
SqlParameter[] cmdParms = {new SqlParameter("@test1",SqlDbType.Int),
new SqlParameter("@test2",SqlDbType.Int)
}; cmdParms[].Direction= ParameterDirection.Output;
cmdParms[].Direction = ParameterDirection.Output; SqlCommand sqlCommand = new SqlCommand("gd_output", conn);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.AddRange(cmdParms);
conn.Open();
sqlCommand.ExecuteNonQuery();
object ob1 = cmdParms[].Value;
object ob2 = cmdParms[].Value;
string result1 = ob1.ToString();
string result2 = ob2.ToString(); }

asp.net mssqlserver 存储过程的更多相关文章

  1. Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值

    Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值,去属性表中设置这时候会提示你去属性表中更改返回类型. 其实存储过程返回的也是一张表,只不过有时候存储过程有点复杂或者写法不规范的话不能 ...

  2. asp.net调用存储过程详解

    摘要 存储过程的调用在B/S系统中用的很多.传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护.新的方法在一定程度上解决了这些问题. 关键词 ASP.NET:存储过程   在使用 ...

  3. (转)asp.net分页存储过程

    Asp.Net分页存储过程 SQL分页语句 一.比较万能的分页: sql代码: 1 2 3 select top 每页显示的记录数 * from topic where id not in  (sel ...

  4. asp.net利用存储过程分页代码

    -最通用的分页存储过程 -- 获取指定页的数据 CREATE PROCEDURE Pagination ), -- 表名 ) = '*', -- 需要返回的列 )='', -- 排序的字段名 , -- ...

  5. (转)ASP与sql存储过程

    本文转载自:http://www.cnblogs.com/Spring/archive/2006/10/18/532817.aspx ASP与存储过程(Stored Procedures)的文章不少, ...

  6. ASP.NET调用存储过程并接收存储过程返回值

    ASP.NET调用存储过程并接收存储过程返回值 2010-08-02 11:26:17|  分类: C#|字号 订阅       2010年02月27日 星期六 23:52 假设表结构Create T ...

  7. ASP.NET分页存储过程,解决搜索时丢失条件信息

    存储过程: -- ============================================= -- Author: -- Create date: -- Description: 分页 ...

  8. ASP.NET事务存储过程

    --修改存储过程 alter proc proc_get_student as select * from student; asp.net 的事务就是针对数据层来处理的呀! 没有数据处理不能使用事务 ...

  9. asp.net调用存储过程2

    创建一个只有输入参数的存储过程 create procedure proc_user@name varchar(20),@Password varchar(100)as select * from l ...

随机推荐

  1. ManagementFactory (二) getMemoryMXBean

    MemoryMXBean package cn.zno.outofmomery; import java.lang.management.ManagementFactory; import java. ...

  2. 分享一下jQuery UI的地址

    jQuery EasyUI: http://www.jeasyui.com/ DWZ: http://j-ui.com/ Liger UI: http://www.ligerui.com/ Liger ...

  3. SQL2005/8数据库提示单个用户无法操作的解决方法

    原因分析: 是操作数据库的用户被锁定了,思路是通过查找目标用户,将其解锁即可,可是这样太麻烦了. 解决办法执行如下sql: USE master;  GO  DECLARE @SQL VARCHAR( ...

  4. 一个可创建读取日志的管理类(可固定创建2M大小的日志文件)

    这里,将日志管理基类命名为LogManagerBase(抽象类),具体的不同类型的日志可以通过继承完成.该基类可将日志以每个2M的方式存储起来,并可以读取当前正在使用的日志的所有内容. 要实现该基类, ...

  5. (算法)N皇后问题

    题目: 八皇后问题:在8 X 8的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后不得处于同一行,同一列或者同意对角线上,求出所有符合条件的摆法. 思路: 1.回溯法 数据结构: 由于8个皇后 ...

  6. 26.怎样在Swift中定义宏?

    Swift 中没有宏定义,苹果建议使用let 或者 get 属性来替代宏定义值.虽然没有#define,但我们仍然可以使用 #if 并配合编译的配置来完成条件编译.下面会列出Swift项目开发中的一些 ...

  7. java/android线程池详解

    一,简述线程池: 线程池是如何工作的:一系列任务出现后,根据自己的线程池安排任务进行. 如图: 线程池的好处: 重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销. 能有效控制线程池的最大并 ...

  8. redis-在乌班图下设置自动启动

    一.修改redis.conf 1.打开后台运行选项,默认情况下,Redis不在后台运行: daemonize yes 2.配置log文件地址,默认使用标准输入,即打印在命令行终端 的窗口上 logfi ...

  9. wbadmin与vssadmin

    wbadmin作为应用程序,在备份的时候调用vssadmin进行卷影副本备份. 创建分区还原点也是利用了vssadmin. 试验: 1.通过wsb对一个文件夹进行备份,备份完成后在wsb中会有一个副本 ...

  10. NFS错误Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno=Connection refused

    NFS报错一例 [root@bjs0- ~]# /etc/init.d/portreserve start Starting portreserve:                          ...