当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 带输出参数的存储过程的使用及在C#中调用问题

ASP.NET
ASP.NET应用程序设计的10大技巧
asp.net开发与web标准的冲突问题
总结:ADO.NET中容易混淆的概念
ASP.NET数据库编程入门
ASP.Net网络数据库:连接到数据库
ASP.Net之C#中的异常处理
在C++中使用Lambda函数提高代码性能
从零开始学习jQuery (一) 开天辟地入门篇
.Net中的 XmlReader 与 XmlWriter 解析
ASP.NET安全问题--创建安全的Web应用程序
从零开始学习jQuery (二) 万能的选择器
ASP.NET开发必须养成的编程习惯
ASP.NET应用XML技术实现Web报表打印
ASP.NET实现静态的TreeView控件导航
数据结构与算法:C#语言描述 目录
ASP.NET创建XML Web服务全接触
使.NET命名空间符合标准
ASP.Net获得新浪天气预报几种方式总结
.Net技术开发中两个“属性”引起的歧异
.Net课堂:ASP.NET常用的优化性能方法

ASP.NET 中的 带输出参数的存储过程的使用及在C#中调用问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 75 ::
收藏到网摘: n/a

创建示例存储过程的完整的语句:USE pubsIF EXISTS (SELECT name FROM sysobjects WHERE name = 'up_test ' AND type = 'P') DROP PROCEDURE up_test GOcreate procedure up_test @out_val integer=0 output--@out_val integer output ------1asbegin--set @out_val=0 -----2 if(1=1) -----3 set @out_val=@out_val+1return 9;end存储过程在查询分析其中使用示例:1、简单调用 exec up_test 3 --注:调用时也要给输出参数传值,有给定默认值时可以不再给参数指定值2、调用并使用存储过程中的输出参数和返回值 declare @ret_val int declare @output_val int exec @ret_val=up_test @out_val=@output_val output -----4 select @ret_val,@output_val值得说明的是:如果只是给定了默认值,调用时未给该输出参数传值,并且存储过程体中并没有诸如set @out_val=0的显式为输出参数赋值的语句(使用set @out_val=@out_val+1是不行的),那么在执行完存储过程后,输出参数的带回值是NULL。这一点我在使用C#的调用中遇到了,还让我调试程序好久。后来在SQL Serve 查询分析器了看到NULL才恍悟。