我有一个带有数据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);
}
答案 0 :(得分:0)
虽然您的代码看起来不错,但我建议您进行一些更改。
1。请确保使用以下声明打开OracleConnection
对象con
。
con.Open();
2。确保给定whitespaces
和username
中没有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;
}