易截截图软件、单文件、免安装、纯绿色、仅160KB

用C#、JAVA一次性取出存储过程中的各种返回值

问题:在存储过程中,有时会遇到比较变态的东西,如一个存储过程中有output返回值,有return返回值,还有查询的返回值TABLE,遇到这样的存储过程真是郁闷,一次性把所有的返回值取出来还真的有点麻烦。
 
 
1、  首先来看这个存储过程吧
 
CREATE  PROCEDURE ParaTest
@paraout varchar(20) output
AS
BEGIN
   SET NOCOUNT ON
   SELECT * from USERS
   SELECT @paraout = 'outputvalue'  
   RETURN 10
END
 
为了方便大家看得更加清清楚楚,我已经将数据赋值写得很直观的了。USERS是一个表
在sql中要取得这个存储过程的返回值可以用以下方式
 
DECLARE @paraoutput varchar(20)
DECLARE @parareturn varchar(20)
EXEC @parareturn= ParaTest @paraout = @paraoutput output
SELECT @paraoutput AS 'output',@parareturn AS 'return'
 
结果如下
 
 
 
 
2、  用C#取得返回值的方法如下(不做解释了,很简单的)
         string stroutput = "";
            string strreturn = "";
            string conStr = "Server=.;DataBase=Test;Uid=sa;Pwd=";           
            SqlConnection conn = new SqlConnection(conStr);
            conn.Open();          
            SqlCommand cmd = new SqlCommand("ParaTest",conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter spa = new SqlParameter("@paraout",SqlDbType.VarChar,20);
            spa.Direction = ParameterDirection.Output;
&n


相关文档:

C和指针

C和指针
在C中有一个很重要的概念,或许大家都知道,那就是指针。在很多初学者刚接触C的时候都认为这是最难的知识点了。没错,我刚开始学的时候也是这么想的,上了第一节课后,第一感受就是:天啊,这简直就是天书!由于个人对于C的爱好,经过一段时间的学习和研究之后,发现这一块是我最喜欢的,并且逐步发现这也是本人的 ......

C/C++与Java多维数组,遍历与最大值获取方法!

C/C++
/*
* File: main.cpp
* Author: Vicky
*
* Created on 2010年4月29日, 上午9:46
*/
#include <iostream>
using namespace std;
int maximum(int[], int);
int main(int argc, char** argv) {
// int sg[3][4] = {
int sg[][4] = {
{68, 77, 73, 86},
{87, 96, 7 ......

extern "C"

C和C++互相调用函数时,使用extern "C"。
原因:
C不支持函数重载,而C++支持函数重载。函数被C++编译后会名字与C语言不同。假设某函数原型为foo(ing x, int y),被C++编译后名字为_foo_int_int,而C编译器编译后名字为_foo。 ......

JAVA 日期相关(转载)

/**
* 有关日期工具类(extends TimeUtil)
*
* TimeUtil主要功能有:
* 1.各种日期类型(字符,util.Date,sql.Date,Calendar等)转换
* 2.获取指定日期的年份,月份,日份,小时,分,秒,毫秒
* 3.获取当前/系统日期(指定日期格式)
* 4.获取字符日期一个月的天数
* 5.获取指定月份的第一天,最后一天
*
* Date ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号