日期:2014-05-18  浏览次数:20473 次

帮我解释一下SqlParameter对象相关的两句代码..谢谢~
做注册调用存储过程后...

cmd.Parameters.Add( "@username ",TextBox1.Text ");
cmd.     ...
cmd.     ...
....
下面的两句代码我看不懂:
--------------------------
SqlParameter   paramOut=cmd.ParaMeters.Add( "@RETURN_VALUE ", "   ");
paramOut.Direction=ParaMeterDirection.ReturnValue;
--------------------------
Con.Open(   );
cmd.ExecuteNonQuery(   );

是什么意思啊那,帮我解释一下?

------解决方案--------------------
SqlParameter paramOut=cmd.ParaMeters.Add( "@RETURN_VALUE ", " ");//加入参数
paramOut.Direction=ParaMeterDirection.ReturnValue;//指定参数为存储过程返回值

------解决方案--------------------
顶楼上
------解决方案--------------------
SqlParameter paramOut=cmd.ParaMeters.Add( "@RETURN_VALUE ", " ");//加入参数
paramOut.Direction=ParaMeterDirection.ReturnValue;//指定参数为存储过程返回值
----------------------------------------
因为存储过程里面写了一句return xxx,而xxx就是用上面的这段代码来取得。
------解决方案--------------------
简单的问题,100分,多了,还是去网上找找好,节约嘛
------解决方案--------------------
SQL Server 的 Microsoft .NET Framework 数据提供程序不支持在向通过 CommandType.Text 的命令调用的 SQL 语句或存储过程传递参数时使用问号 (?) 占位符。在这种情况下,必须使用命名的参数。例如:

SELECT * FROM Customers WHERE CustomerID = @CustomerID
//添加参数
SqlParameter paramOut=cmd.ParaMeters.Add( "@RETURN_VALUE ", " ");
//指定返回参数的类型
paramOut.Direction=ParaMeterDirection.ReturnValue;

public enum ParameterDirection

Input 参数是输入参数。
InputOutput 参数既能输入,也能输出。
Output 参数是输出参数。
ReturnValue 参数表示诸如存储过程、内置函数或用户定义函数之类的操作的返回值。


------解决方案--------------------
SqlParameter paramOut=cmd.ParaMeters.Add( "@RETURN_VALUE ",SqlDbType.Int);//加入参数
paramOut.Direction=ParaMeterDirection.ReturnValue;//指定参数为存储过程返回值


@RETURN_VALUE 在存储过程中这样声明:

create procedure Register_Proc
@UserID char(16),
@UserPassword char(16)
AS

declare @RETURN_VALUE int

if exists(select * from UserTable where UserID=@UsrID and UserPassword=@UserPassword)
begin set @RETURN_VALUE=1
end
else
begin set @RETURN_VALUE=-1
end
return @RETURN_VALUE
GO
------------------------------------
前台调用返回值:
int px= (int)paramOut.Value;
if(px==1)
{
response.write( "OK ");
response.write( " <script> location= 'index.aspx '; </script> ");
}
if(px==-1)
{
response.write( "ERROR ");
}
------解决方案--------------------
学习
------解决方案--------------------
SqlParameter paramOut=cmd.ParaMeters.Add( "@RETURN_VALUE ", " ");
============================
添加了一个参数@RETURN_VALUE(特别强调此参数的名字只要不和其他的参数同名是什么都无所谓)

paramOut.Direction=ParaMeterDirection.ReturnValue;
================================================
此参数为存储过程的返回值