我为删除按钮写了这些行。对我来说没有错误出现,但是按钮没有任何作用,有时我从vb中收到此错误
[mscorlib.dll“中发生了'System.FormatException'类型的未处理异常,并且在此行中选择了代码”“ c。PatientID = Convert.ToInt32(txtBoxPatientID.Text);
知道如何使删除按钮起作用吗?
private void btnSupprimer_Click(object sender, EventArgs e)
{
// Get Patient ID from app
c.patientID = Convert.ToInt32(txtBoxPatientID.Text);
bool success = c.Delete(c);
if (success == true)
{
// Successfully Deleted
MessageBox.Show(" Operation reussite");
// refresh data grid
// Load data into DataGridView
DataTable dt = c.Select();
dgvContactList.DataSource = dt;
// Call the clear method
Clear();
}
else
{
// failed to delete
MessageBox.Show(" Operation echouée");
}
}
异常表示您正在尝试将非数字或空字符串转换为Int32。我相信问题在这里:
c.patientID = Convert.ToInt32(txtBoxPatientID.Text);
换句话说,当您单击该按钮并且txtBoxPatientID不包含任何字符或带有或不带有数字的任何字符时,您将得到所提到的异常。
最好尝试解析文本框的内容,以检查输入的格式是否正确。如果是,则进行其他操作,例如显示验证消息。
尝试:
int i;
if(!int.TryParse(txtBoxPatientID.Text, out i))
{
return; //or message the user to enter a valid input.
}
// Get Patient ID from app
c.patientID = i;
bool success = c.Delete(c);
if (success == true)
{
// Successfully Deleted
MessageBox.Show(" Operation reussite");
// refresh data grid
//Load Data on Data GridView
DataTable dt = c.Select();
dgvContactList.DataSource = dt;
// Call the clear method
Clear();
}
else
{
// failed to deleted
MessageBox.Show(" Operation echouée");
}