retun问题

问题描述

ALTERPROCEDURE[dbo].[test]ASselect33RETURN

查询分析器执行结果RETURN值为33SqlConnectionconn=newSqlConnection(StrConn);conn.Open();SqlCommandcmd=newSqlCommand("test",conn);cmd.CommandType=CommandType.StoredProcedure;cmd.Parameters.Add(newSqlParameter("@ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));introwsAffected=cmd.ExecuteNonQuery();intresult=(int)cmd.Parameters["@ReturnValue"].Value;//??这里为什么返回的是0

解决方案

解决方案二:
cmd.Parameters["@ReturnValue"].Direction=ParameterDirection.ReturnValue;
解决方案三:
--如果要在程序中获取存储过程输出参数,将存储过程改为:ALTERPROCEDURE[dbo].[test]@ReturnValueintoutputASset@ReturnValue=33go

解决方案四:
谢谢楼上的如果我吧SQL改成ALTERPROCEDURE[dbo].[test]ASdeclare@aintset@a=33RETURN@a

这样就能获取retunrn但是我不想定义declare@a我看别人写的select33RETURN就直接返回select的值
解决方案五:
因为第一个过程没有返回值,而是执行一次select查询,而第二个有返回值,即return@a。第一个改成这样就有值了SqlConnectionconn=newSqlConnection(StrConn);conn.Open();SqlCommandcmd=newSqlCommand("test",conn);cmd.CommandType=CommandType.StoredProcedure;SqlDataReaderreader=cmd.ExecuteReader();intreturnValue=(int)reader.GetValue(0);Console.WriteLine(returnValue);

解决方案六:
ALTERPROCEDURE[dbo].[test]@ReturnValueintoutputASset@ReturnValue=33gocmd.Parameters["@ReturnValue"].Direction=ParameterDirection.Output;ORALTERPROCEDURE[dbo].[test]ASreturn33gocmd.Parameters["@ReturnValue"].Direction=ParameterDirection.ReturnValue;
解决方案七:
是不是需要设置一下输入或输出呢?
解决方案八:
没返回值你调用了根本没意义!

时间: 2024-11-08 22:33:33

retun问题的相关文章

ASP+MSSQL2000,数据库被批量注入了 <Script Src=

这阵子,采用ASP+MSSQL设计的很多网站可能遭遇到sql数据库被挂马者插入JS木马的经历:这不,朋友的一个网站就被黑客忽悠了一把,mssql的每个varchar.text字段都被自动插入一段js代码,即使删除这段代码,如果没有从源头上解决,几分钟后,js代码就又会自动插入数据库.     经过飘易的观察,这很有可能是程序自动执行的,黑客先从搜索引擎google.百度等搜索存在漏洞的采用asp+mssql设计的网站,然后采用小明子这样的注入扫描工具,扫描整个网站,一旦发现有sql注入的漏洞或者

sql数据库被挂马或插入JS木马的解决方案

很多网站可能遭遇到sql数据库被挂马者插入JS木马的经历:mssql的每个varchar.text字段都被自动插入一段js代码,即使删除这段代码,如果没有从源头上解决,几分钟后,js代码就又会自动插入数据库.    这很有可能是程序自动执行的,黑客先从搜索引擎google.百度等搜索存在漏洞的采用asp+mssql设计的网站,然后采用小明子这样的注入扫描工具,扫描整个网站,一旦发现有sql注入的漏洞或者上传漏洞,黑客就通过各种手段,上传自己的大马,如海阳木马:然后,黑客就把这个网站纳入他的肉鸡列

.net回收机制的使用

   一个被终止的对象常驻内存重而不被使用的话,会占用很多系统资源,于是.net的垃圾回收器就会将它放在中止化队列中,一旦时机成熟,该对象就会被唤醒,并调用他的finalize方法,来彻底的终结他,但是利用这一机制,就可以将耗费资源的巨型类放入到一个对象池中,在程序的整个生存期内重复的使用他(结束的标志是clr认为在进程中不存在任何该应用程序的根).我们称这些巨型类为Expensive对象,下面来讨论一下管理Expensive对象的对象池的结构.Class Expensive{ Static S

C#基础全接触

引用类型是类型安全的指针,它们的内存是分配在堆(保存指针地址)上的.String.数组.类.接口和委托都是引用类型.强制类型转换与as类型转换的区别:当类型转换非法时,强制类型转换将抛出一个System.InvalidCastException异常,而as不会抛出异常,它返回一个null值.用using创建别名:using console = System.Console;访问限定符:public  该成员可以被其他任何类访问protected 该成员只能被其派生类访问private  该成员只

Db

详细介绍:   由于工作的原因,需要对SQL SERVER数据库进行操作,根据以前使用的MySQL数据库操作类改写成现在这个对SQL SERVER进行操作的PHP类,可以执行连接数据库,执行SQL语句,查询数据,获得最后一次插入操作的ID号等功能! <?php/****************************************************************************            db_mssql_class.php  -  descript

C语言基础教程(五)函数(7)

2.3 函数的递归调用Turbo C2.0允许函数自己调用自己,即函数的递归调用,递归调用可以使程序简洁.代码紧凑,但要牺牲内存空间作处理时的堆栈.如要求一个n!(n的阶乘)的值可用下面递归调用:例8: #include<stdio.h> unsigned ling mul(int n); int main() { int m; puts("Calculate n! n=?\n"); scanf("%d", &m); /*键盘输入数据*/ pri

排序算法比较程序

功能要求如下: 排序算法比较: shellsort, quicksort, heapsort, mergesort 的算法实现 , 对同样数据集的排序时间比较. 源代码: # include <stdio.h> # include <time.h> # define MAXSIZE 2000 typedef struct{ int key[MAXSIZE]; int length; }list; long int compCount; long int shiftCount; vo

IOS开发:Cocos2d触摸分发原理分析

  触摸是iOS程序的精髓所在,良好的触摸体验能让iOS程序得到非常好的效果,例如Clear.鉴于同学们只会用cocos2d的 CCTouchDispatcher 的 api 但并不知道工作原理,但了解触摸分发的过程是极为重要的.毕竟涉及到权限.两套协议等的各种分发. 本文以cocos2d-iphone源代码为讲解.cocos2d-x 于此类似,就不过多赘述了. 零.cocoaTouch的触摸 在讲解cocos2d触摸协议之前,我觉得我有必要提一下CocoaTouch那四个方法.毕竟cocos2

PHP制作百度词典查词采集器

 这篇文章主要介绍了PHP制作百度词典查词采集器的相关资料,需要的朋友可以参考下     百度dict 采集样本 写的采集百度dict词典翻译后的所有结果数据,当然附带了13.5w单词库和采集简单的案例,这里我把写出的主要类dict.class.php放出来,项目地址http://github.com/widuu/baidu_dict,有需要的直接fork就可以了~么么哒,这东西用的人很少,所以有用的兄弟拿走了哈~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1