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

2010-08-02 11:26:17|  分类: C#|字号 订阅

 
 
 
2010年02月27日 星期六 23:52
假设表结构
Create Table Table_1
(
tid int identity(1,1),
number int
)
1.调用无参无返回值的存储过程

假设存储过程如下:
Create PROC proc_1
AS
Insert Table_1(number) Values(100)
GO

调用方法:
public static void exec_proc_1()
{
SqlCommand cmd = new SqlCommand("proc_1", con);//proc_1为存储过程名,con为已经建立好的连接
cmd.CommandType = CommandType.StoredProcedure;//设置执行类型为执行存储过程
cmd.ExecuteNonQuery();
}

2.调用有参有返回值的存储过程
假设存储过程如下:
Create PROC proc_2
@result int output,//要返回的参数
@number int,
@tid int
AS
Update Table_1 Set number=number+@number Where tid=@tid
Select @result=number From Table_1
GO

调用方法:
public static int exec_proc_2(int number, int tid)
{
SqlCommand cmd = new SqlCommand("proc_2", con);//同上
cmd.CommandType = CommandType.StoredProcedure;//同上
cmd.Parameters.Add(new SqlParameter("@result", SqlDbType.Int));//添加一个名为@result的参数,数据类型为SqlDbType.Int
cmd.Parameters["@result"].Direction = ParameterDirection.Output;//将@result参数设置成为接收输出参数
cmd.Parameters.AddWithValue("@number", number);
cmd.Parameters.AddWithValue("@tid", tid);            
cmd.ExecuteNonQuery();
int result = (int)cmd.Parameters["@result"].Value;//将输出的Object数据转换成int类型
return result;
}

3.调用返回一张表的存储过程并接收
假设存储过程如下
Create PROC proc_3
AS
Select * From Table_1--查询一张表
GO

调用方法:
public static DataTable exec_proc_3()
{
SqlCommand cmd = new SqlCommand("proc_3", con);//同上
cmd.CommandType = CommandType.StoredProcedure;//同上
SqlDataAdapter da = new SqlDataAdapter(cmd);//用SqlDataAdapter执行
DataTable table = new DataTable();//创建一张表
da.Fill(table);//填充表
return table;
}

ASP.NET调用存储过程并接收存储过程返回值的更多相关文章

  1. ASP.Net MVC 在ajax接收controller返回值为Json数据

    首先,再次回忆一下ajax的标准用法:(这张图写的比较详细了)(转) 页面部分ajax代码: $.ajax({            url: "/Home/Login?account=&q ...

  2. asp.net 调用post方法并获取返回值

    /// <summary>        /// http协议 post数据 接受返回结果        /// </summary>        /// <param ...

  3. asp 按钮 调用ajax时 会出现返回错误,尽量使用html按钮进行调用

    asp 按钮 调用ajax时 会出现返回错误,尽量使用html按钮进行调用

  4. BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题

    BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 原文:http://www.sufeinet.com/thread-3707-1-1.html      大家可以先看看我上 ...

  5. atitit.架构设计---方法调用结果使用异常还是返回值

    atitit.架构设计---方法调用结果使用异常还是返回值 1. 应该返回BOOL类型还是异常 1 2. 最终会有四种状况,抛出异常.返回特殊值.阻塞.超时 1 3. 异常的优缺点点 1 4. jav ...

  6. javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量

    定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. <!DOCTYPE ht ...

  7. ASP.NET Core中的Action的返回值类型

    在Asp.net Core之前所有的Action返回值都是ActionResult,Json(),File()等方法返回的都是ActionResult的子类.并且Core把MVC跟WebApi合并之后 ...

  8. JDBC和JPA调用储存过程 接收存储过程有返回值

    ============jdbc==========================================--java代码:一个输出参数--String connURL = null;Con ...

  9. java Servlet+mysql 调用带有输入参数和返回值的存储过程(原创)

    这个数据访问的功能,我在.NET+Mysql .NET+Sqlserver  PHP+Mysql上都实现过,并且都发布在了我博客园里面,因为我觉得这个功能实在是太重要,会让你少写很多SQL语句不说,还 ...

随机推荐

  1. MySql索引笔记

    MySQL 索引是什么 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和 ...

  2. 你知道你常用的dos和linux命令吗?

    功能 Linux MS-DOS 进入到该目录 cd cd 列举文件 ls dir 创建目录 mkdir mkdir 清除屏幕 clear cls 复制文件 cp copy 移动文件 mv move 删 ...

  3. DB2隔离级别

    四.隔离级别与锁 数据库是利用锁和隔离级别来共同处理数据库的并发的.DB2数据库用来尝试实施并发性的方法之一是通过使用隔离级别,它决定在第一个事务访问数据时,如何对其他事务锁定或隔离该事务所使用的数据 ...

  4. 在rubymine中集成heroku插件

    先安装heroku,参见http://www.cnblogs.com/jecyhw/p/4906990.html Heroku安装之后,就自动安装上git,目录为C:\Program Files (x ...

  5. MySQL-----多对多

    多对多: 示例1: 用户表和相亲记录表 用户表 用户id 用户名                  性别 1 George  男 2 Elizabeth 女 3 Bruce 男 4 Catherine ...

  6. DataBase安装及简单配置

    下载以及安装 打开mysql官网下载页面:http://dev.mysql.com/downloads/mysql/ 用管理员身份打开cmd命令行工具,cd到解压文件的bin目录 输入mysqld i ...

  7. 【01】什么是AJAX

    什么是AJAX   AJAX(异步 JavaScript 和 XML)是 synchronous(英[ˈsɪŋkrənəs]) JavaScript and XML 的简称. AJAX不是一门新的编程 ...

  8. 贪心算法求解活动安排<算法分析>

    一.实验内容及要求 1.要求按贪心算法原理求解问题: 2.要求手工输入s[10]及f[10],其中注意自己判断s[i]<f[i]: 3.要求显示所有活动及最优活动安排的i事件列表.二.实验步骤  ...

  9. manacher模板整理

    //p[]为最长回文半径长度,id为当前最靠右端回文串的中心点(多个取最靠左),mx为id对应的回文串的最右端坐标+1void manacher(char *s,int len){ p[] = ; , ...

  10. POJ-2594 Treasure Exploration floyd传递闭包+最小路径覆盖,nice!

    Treasure Exploration Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 8130   Accepted: 3 ...