如在名为Emp的表中,我将Name Column作为主键,当我添加已经存在于数据库中的重复名称(Bharat Mali)时,此记录不会添加到数据库中,而是显示此消息(员工已添加)成功)我想向用户显示一条消息(无法存储重复值)。 我在Add按钮后面使用此代码单击
private void button3_Click(object sender, EventArgs e)
{
DBHandling db = new DBHandling();
if (name.Text.Trim().Equals("")&& name.Text.Trim().Equals("select Emp.name from Emp"))
{
name.Focus();
MessageBox.Show("Name cannot be blank or same!");
}
else if(Payment.Text.Trim().Equals(""))
{
Payment.Focus();
MessageBox.Show("Payment cannot be blank!");
}
else if (!IsNumeric(Payment.Text.Trim()))
{
Payment.Focus();
MessageBox.Show("Payment should contain Numerical Values!");
}
else if(CellNumber.Text.Trim().Equals(""))
{
CellNumber.Focus();
MessageBox.Show("Cell Number cannot be blank!");
}
else if (!IsNumeric(CellNumber.Text.Trim()) || CellNumber.Text.Trim().Length<10)
{
CellNumber.Focus();
MessageBox.Show("Invalid Cell Number!");
}
else if(JoiningDate.Text.Trim().Equals(""))
{
JoiningDate.Focus();
MessageBox.Show("set Joining Date!");
}
else
{
db.AddEmp(name.Text, Payment.Text, CellNumber.Text, Education.Text, JoiningDate.Text);
MessageBox.Show("Employee added successfully!");
}
name.Clear();
Payment.Clear();
CellNumber.Clear();
Education.Clear();
name.Focus();
}
所以我应该怎么做,谢谢。
我正在使用下面这行代码检查PK,我没有得到任何答案但是甚至没有错误,你知道我应该怎么做其他方式吗?
if (name.Text.Trim().Equals("")&& name.Text.Trim().Equals("select Emp.name from Emp"))
{
name.Focus();
MessageBox.Show("Name cannot be blank or same!");
}
答案 0 :(得分:2)
编写代码的异常方式并不好。它会降低应用程序的性能。而是检查数据库中是否已存在PK值。可能是为了让它更快你可以只拥有PK的内部数据结构并先检查那里然后如果它不在那里,更新那个加上DB