使用Oracle数据库登录的代码

时间:2014-01-13 14:09:29

标签: c# oracle

我有一个带有数据hrd_user的oracle表user_name (rajesh ) pswd(12345)

我正在尝试使用此代码登录,但它显示未注册用户或无效名称/密码。

try
{
    if (textBox1.Text == "" || textBox2.Text == "")
    {
        MessageBox.Show(" Enter UserName and Password .");
        return;
    }

    cmd = new OracleCommand("SELECT * FROM hrd_user where user_Name=:user_name and pswd=:pswd", con);
    cmd.Parameters.Add(new OracleParameter(":user_name", textBox1.Text));
    cmd.Parameters.Add(new OracleParameter(":pswd", textBox2.Text));

    OracleDataAdapter da = new OracleDataAdapter(cmd);
    da.Fill(ds);
    int i = ds.Tables[0].Rows.Count;
    if (i == 1)
    {
        this.Hide();
        show_db_managoption frm = new show_db_managoption();
        frm.Show();
        ds.Clear();
    }
    else
    {
        MessageBox.Show("Not Registered User or Invalid Name/Password");
        textBox1.Text = "";
    }
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

1 个答案:

答案 0 :(得分:0)

虽然您的代码看起来不错,但我建议您进行一些更改。

1。请确保使用以下声明打开OracleConnection对象con

con.Open();  

2。确保给定whitespacesusername中没有password。 在Trim()username上调用password方法以删除任何空格。

cmd.Parameters.Add(new OracleParameter(":user_name", textBox1.Text.Trim()));
cmd.Parameters.Add(new OracleParameter(":pswd", textBox2.Text.Trim()));  

3。在将用户名和密码与EmptyString进行比较时,我建议您使用String类的内置方法String.IsNullOrWhitespace()来获得更好的结果。

if(String.IsNullOrWhiteSpace(textBox1.Text) || String.IsNullOrWhiteSpace(textBox2.Text))
{
    MessageBox.Show(" Enter UserName and Password .");
    return;
}