asp.net 存储过程 输入输出参数+返回值

存储过程

       USE TEST
GO
CREATE PROC SHOW --DROP PROC SHOW
@NAMES VARCHAR(50),
@PWD VARCHAR(50),
@MESSAGE VARCHAR(50) OUTPUT
AS
IF EXISTS(SELECT * FROM A WHERE NAMES=@NAMES)
BEGIN
   IF EXISTS(SELECT * FROM A WHERE NAMES=@NAMES AND PWD=@PWD)
    BEGIN
     SELECT * FROM A WHERE NAMES=@NAMES AND PWD=@PWD
     SET @MESSAGE='信息正确!'
     RETURN 1
    END
   ELSE
    BEGIN
     SET @MESSAGE='密码不正确!'
     RETURN 0
    END
END
ELSE
SET @MESSAGE='用户名不存在!'
RETURN 0

 

 

后台代码:

       SqlConnection con = new SqlConnection("server=.;database=TEST;uid=sa;pwd=;");
        con.Open();
        SqlCommand cmd = new SqlCommand("SHOW", con);
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.Add("@NAMES", SqlDbType.VarChar, 50).Value = "A";
        cmd.Parameters["@NAMES"].Direction = ParameterDirection.Input;
        cmd.Parameters.Add("@PWD", SqlDbType.VarChar, 50).Value = "S";
        cmd.Parameters["@PWD"].Direction = ParameterDirection.Input;
        cmd.Parameters.Add("@MESSAGE", SqlDbType.VarChar, 50);
        cmd.Parameters.Add("@RETURN", SqlDbType.VarChar, 50);
        cmd.Parameters["@MESSAGE"].Direction = ParameterDirection.Output;
        cmd.Parameters["@RETURN"].Direction = ParameterDirection.ReturnValue;
        cmd.ExecuteNonQuery();
        SqlDataReader sdr= cmd.ExecuteReader();

        if ((int)cmd.Parameters["@RETURN"].Value == 1)
        {
            Response.Write(cmd.Parameters["@MESSAGE"].Value);
            while (sdr.Read())
            {
                Response.Write(sdr.GetValue(0) + "/" + sdr.GetValue(1) + "/" + sdr.GetValue(2));
                Response.Write(sdr.GetInt32(0) + "/" + sdr.GetString(1) + "/" + sdr.GetString(2));
            }
        }
        else
        {
            Response.Write(cmd.Parameters["@MESSAGE"].Value);
        }

转载于:https://www.cnblogs.com/sidihu/archive/2012/04/21/2461226.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值