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. 在WindowsServer2008服务器上安装SQLServer2008R2

    登录服务器 使用远程桌面登录Windows Server 2008   安装前的准备工作 下载SQL Server安装程序 下载Microsoft SQL Server2008 R2 RTM - Ex ...

  2. 创建类模式(四):原型(Prototype)

    定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建 ...

  3. mahout算法源码分析之Itembased Collaborative Filtering(四)共生矩阵乘法

    Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 经过了SimilarityJob的计算共生矩阵后,就可以开始下面一个过程了,这个过程主要是共生矩阵的乘法 ...

  4. 关于C#中文本模板(.tt)的简单应用

    这两天做项目突遇 .tt文件,之前没有接触过,so查询学习做笔记,帮助记忆和后来者. 在项目添加中点击选择文本模板 下面贴出代码,做了简单的注释 <#@ template debug=" ...

  5. Merge into 使用

    在进行SQL语句编写时,我们经常会遇到这样的问题:当存在记录时,就更新(Update),不存在数据时,就插入(Insert),oracle为我们提供了一种解决方法——Merge into ,具体语法如 ...

  6. VC++ 中滑动条(slider控件)使用 [转+补充]

    滑动控件slider是Windows中最常用的控件之一.一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值.通常,在滑动控件附近一定有标签控件或编辑框控 ...

  7. Flex应用程序如何启动

    Flex应用程序启动 编写一个简单的Flex应用程序并不复杂,就算你从来没接触过Flex程序设计,照着帮助的实例步骤,不需花多长时间也能做出一个漂亮简捷的小程序出来.不过,随着对Flex程序编写的深入 ...

  8. 转载:页面加载swf插件:swfobject

    转自:http://www.cnblogs.com/analyzer/articles/1299592.html 我一直都在用SWFObject 插入flash,好处多多,代码简洁,不会出现微软的“单 ...

  9. KMP算法初探

    [edit by xingoo] kmp算法其实就是一种改进的字符串匹配算法.复杂度可以达到O(n+m),n是参考字符串长度,m是匹配字符串长度. 传统的算法,就是匹配字符串与参考字符串挨个比较,如果 ...

  10. POJ3928、LA4329【树状数组】

    借此题试验一下各种做法的效果~ 这题为ACM2008北京站某题,介于简单与中等之间,做出来,罚时不多基本可以铜了,所以这样的题还必须得会,进阶之路. add(a[i]+1,1)这样处理之后,再用sum ...