OutPut 输出 在 asp.net 中使用

例一:

存储过程:(通过 用户ID 输出 用户名)

create proc test
(
         @FUid int,
         @FUserName varchar(100)  output
)
as
begin

select  @FUserName=FUserName from B_User where Fid = @FUid

end
go

*****在一个区域内如果有多条语句时,必需使用BEGIN...END关键字。

asp.net测试程序:

public void test()
    {
        SqlConnection sqlcon = new SqlConnection(CnnString);
        sqlcon.Open();
        SqlCommand sqlcom = new SqlCommand();
        sqlcom.CommandType = CommandType.StoredProcedure;
        sqlcom.CommandText = "test";
        sqlcom.Connection = sqlcon;
        sqlcom.Parameters.Add("@FUid", SqlDbType.Int, 2);
        sqlcom.Parameters["@FUid"].Value = "2";
        sqlcom.Parameters.Add("@FUserName", SqlDbType.VarChar, 500);
        sqlcom.Parameters["@FUserName"].Direction = ParameterDirection.Output;
        sqlcom.ExecuteNonQuery();();  //一定先执行,才可以获得@FUserName值
        sqlcon.Close();

        string name = sqlcom.Parameters["@FUserName"].Value.ToString();  //获取output输出变量的值
       
    }

例二:

存储过程:

create proc test2
(
    @FUserName varchar(100),
    @FPwd varchar(100),
    @returnBoll bit output
)
as
declare @strPwd varchar(100) --定义一个临时变量来保存密码.
begin
    --通过用户名查询用户密码,并将此密码赋给临时变量 @strPwd
    select @strPwd = FPwd from B_User where FUserName = @FUserName

    --判断输入的密码与查询到的密码是否相等.
    --如果相等,设置输出的值为1,并且更新最后一次登录的时间为系统当前时间;如果不等,设置输出的值为0.
    if(@FPwd = @strPwd)
         begin
              set @returnBoll = 1
              update B_User set FLastLoginTime = getdate() where FUserName = @FUserName
         end
    else
        begin
              set @returnBoll = 0
        end
end
go

asp.net测试程序:

 public void test()
    {
        SqlConnection sqlcon = new SqlConnection(CnnString);
        sqlcon.Open();
        SqlCommand sqlcom = new SqlCommand();
        sqlcom.CommandType = CommandType.StoredProcedure;
        sqlcom.CommandText = "test2";
        sqlcom.Connection = sqlcon;
        sqlcom.Parameters.Add("@FUserName", SqlDbType.VarChar, 100);
        sqlcom.Parameters["@FUserName"].Value = "bbb";
        sqlcom.Parameters.Add("@FPwd", SqlDbType.VarChar,100);
        sqlcom.Parameters["@FPwd"].Value = "EA-ED-67-D6-AE-E3-43-90";
        sqlcom.Parameters.Add("@returnBoll", SqlDbType.Bit);
        sqlcom.Parameters["@returnBoll"].Direction = ParameterDirection.Output;
        sqlcom.ExecuteNonQuery();
        sqlcon.Close();

        bool name = Convert.ToBoolean(sqlcom.Parameters["@returnBoll"].Value);
        if (name == true)
        {
            Response.Write("登录成功!");
        }
        else
        {
            Response.Write("不是吧?好像错了哦!登录不了.....");
        }
       
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值