c#储存过程

来源:百度知道 编辑:UC知道 时间:2024/06/30 03:35:41
public int ExistsInfo(int GoodsID, string UserIP)
{
SqlCommand cmd = new SqlCommand("ExistsInfo", myConn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter goodsID = new SqlParameter("@GoodsID", SqlDbType.Int, 4);
goodsID.Value = GoodsID;
cmd.Parameters.Add(goodsID);
SqlParameter userIP = new SqlParameter("@UserIP", SqlDbType.VarChar, 50);
userIP.Value = UserIP;
cmd.Parameters.Add(userIP);
cmd.Parameters.Add("returnValue", SqlDbType.Int);//这句什么意思?
cmd.Parameters["returnValue"].Direction = ParameterDirection.ReturnValue;//这句什么意思?

//执行存储过程
myConn.Open();
try
{
cmd.ExecuteNonQuery();

}
catch (Exception)
{
Response.Write("操作失败");

cmd.Parameters.Add("returnValue", SqlDbType.Int);//这句什么意思?
---------------------------------------------------
向cmd命令中添加一个returnValue 类型为 int的参数
----------------------------------------------------
cmd.Parameters["returnValue"].Direction = ParameterDirection.ReturnValue;//这句什么意思?
----------------------------------------------------
Direction 属性描述 Parameter 实例绑定到的值,就是说参数的邦定值
为:ParameterDirection.ReturnValue。
ParameterDirection.ReturnValue:表示存储过程操作的返回值。
即:ExistsInfo存储过程的返回值。
----------------------------------------------------------------
return int.Parse(cmd.Parameters["returnValue"].Value.ToString());//这句什么意思?
-------------------------------------------------------------
整个函数的返回值。int.Parse用来把字符类型转换为整形。因为整个函数
返回的是整形类型。整个函数只是在测试 存储过程的返回值是多少

祝你好运!!