Как поймать ошибку проверки текста или неверное значение, которое не существует в таблице в базе данных

У меня есть окно входа в систему, в котором пользователь должен ввести идентификатор пользователя и пароль, если текстовые поля пусты или введенные значения неверны, то программа должна поймать это, показывая сообщение об ошибке
Я написал этот код, но он работает только тогда, когда два текстовых поля пусты, тогда как в случае одного из текстовых полей пусто или значение, введенное для 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();
            }

1 ответ