读书人

关于 SqlParameter解决思路

发布时间: 2012-10-28 09:54:44 作者: rapoo

关于 SqlParameter
一个登陆页面,数据库是oracle,用SqlParameter传参的方式(在oracle里 := @)

C# code
OracleConnection conn = new OracleConnection(ConnectionString);            string sql = "select * from table_user where name=:name and pwd=:pwd";            OracleCommand cmd = new OracleCommand(sql, conn);            OracleParameter name = new OracleParameter(":name", OracleType.Char, 50);            name.Value = TextBox1.Text;            cmd.Parameters.Add(name);            OracleParameter pwd = new OracleParameter(":pwd", OracleType.Char, 50);            pwd.Value = TextBox2.Text;            cmd.Parameters.Add(pwd);            conn.Open();            OracleDataReader dr = cmd.ExecuteReader();            if (dr.HasRows)            {                if (判断账号是否被禁用)//怎样得到这一列的值                {                    Response.Write("账号被禁用!");                }                else                {                    Response.Redirect("index.html");                }            }            else            {                Response.Write("用户名或密码错误!");            }            conn.Close();

上面的代码是正确的,现在的问题是,在用户名和密码都正确的情况下,我还要判断下user_table 表里的forbidden列(禁用),怎样得到这一列的值

[解决办法]
不能用dr["字段名"]得到嘛
[解决办法]
C# code
            if (dr.HasRows)            {                dr.Read();                if (dr["forbidden"].ToString()=="禁用")//取值之前要Read                {                    Response.Write("账号被禁用!");                }                else                {                    Response.Redirect("index.html");                }            }            else            {                Response.Write("用户名或密码错误!");            }
[解决办法]
if (dr != null && dr.Read())
{
string s = dr["字段名"].ToString();
}

读书人网 >asp.net

热点推荐