如何捕获文本验证错误或数据库中表中不存在的不正确值
本文关键字:不存在 不正确 数据库 文本 何捕获 验证 错误 | 更新日期: 2023-09-27 18:09:39
我有一个登录窗口,用户应该输入用户ID和密码如果文本框为空或输入的值不正确,那么程序应该捕捉到这显示错误消息
我已经写了这段代码,但它只在两个文本框为空时才有效,而在其中一个文本框为空或输入ID或密码的值不正确的情况下,程序没有反应。我的代码有什么问题…关于
private void loginbtn_Click(object sender, EventArgs e)
{
try {
id = Convert.ToInt32(empIdtxt.Text);
cn.Open();
SqlCommand cmd = new SqlCommand("select empId,empPass from emp where empId='" + empIdtxt.Text + "' and empPass='" + passtxt.Text + "'", cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
SqlCommand cmd2 = new SqlCommand("insert into empLogin (empId,empPerm) select empId,empPerm from emp where empId='" + empIdtxt.Text + "'", cn);
cmd2.ExecuteNonQuery();
MainFrm mainfrm = new MainFrm(id);
mainfrm.Show();
this.Hide();
}
}
catch
{
MessageBox.Show("User ID or password invalid or incorrect","Invalid ID or password",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
finally
{
cn.Close();
}
您缺少if (dt.Rows.Count > 0)
的else
块。此外,使用bind variables
而不是将值嵌入到查询中是一个很好的实践。