我无法登录任何建议,无论是在存储过程还是代码隐藏的情况下

本文关键字:存储过程 代码 隐藏 情况下 无论是 登录 任何建 | 更新日期: 2023-09-27 18:37:22

CREATE TABLE MYUSE100(userid number,username varchar2(45),ppassword varchar2(50));
insert into MYUSE200 values('harry','potter');

这是我的存储过程

create or replace procedure  p_myuse200(p_username1 in  varchar2,p_password1 in varchar2,v_count out number)
AS
BEGIN
select count(*) INTO v_count from MYUSE200 where username1=p_username1 and password1=p_password1;
IF v_count>0 THEN
v_count:=v_count+0;
ELSE
v_count:=0;
END IF;
END;
/

代码隐藏

protected void button1_onclick(object sender, EventArgs e)
    {
        OracleConnection conn = new OracleConnection(strConnString);

        OracleCommand cmd = new OracleCommand("p_myuse200",conn);
        cmd.CommandType = CommandType.StoredProcedure;
        conn.Open();
        OracleParameter username1 = new OracleParameter("p_username1", OracleDbType.Varchar2, 50);
        username1.Value = textbox1.Text;
        cmd.Parameters.Add(username1);
        OracleParameter password1 = new OracleParameter("p_password1 ", OracleDbType.Varchar2, 45);
        password1.Value = textbox2.Text;
        cmd.Parameters.Add(password1);
        cmd.Parameters.Add("v_count", OracleDbType.Varchar2, 30);
        cmd.Parameters["v_count"].Direction = ParameterDirection.Output;

             Int32 results = 0;
          //results = (Int32)cmd.Parameters["v_count"].Value;
           try
            {
                results = Convert.ToInt32(cmd.Parameters["values"].Value);
                cmd.ExecuteScalar();
               //cmd.ExecuteNonQuery();
                if (results > 0)
                {
                    Response.Redirect("http://www.google.com");
                }
                else
                {
                    Response.Redirect("http://www.facebook.com");
                }
                conn.Close();
                conn.Dispose();
            }
            catch (Exception ex)
            {
             Response.Redirect("http://www.gmail.com");
            }
}
}

我无法登录任何建议,无论是在存储过程还是代码隐藏的情况下。results>0 未获得当前值 count=1,结果应为 1,但它始终为零,否则块正在执行,,,

我无法登录任何建议,无论是在存储过程还是代码隐藏的情况下

>ExecuteScalar执行查询,并返回查询返回的结果集中第一行的第一列。您应该从查询中获取结果,如下所示:

var results = (int) ExecuteScalar();