Здравствуйте, ребята, я работаю над назначением базы данных, у меня есть одна форма Windows и один класс, который я использую для подключения к базе данных и выполнения запросов и не-запросов.
Вопрос: Я использую Post-Метка сообщения, которая информирует только, когда «Продукт успешно добавлен». Но когда я отправляю неправильные данные, которые могут возникнуть исключение в executeNonQuery () в классе базы данных и после перехвата этого исключения и отображения ошибки в окне сообщения. Контроль возвращается к вызывающей стороне, и он печатаетlblPostMsg в обоих случаях: «Продукт был успешно добавлен».Я хочу, чтобы, когда исключение происходило в классе базы данных, я мог прекратить выполнение остальной части кода или, если есть способ, которым исключение в вызывающем методе может быть перехвачено методом вызывающего.
ниже - кнопка формы кода окна
private void btnInsert_Click(object sender, EventArgs e)
{
con = new DbConnection();
con.SqlQuery("INSERT INTO products VALUES(@products_ID,@products_Name)");
con.cmd.Parameters.AddWithValue("@products_ID", txtProID.Text);
con.cmd.Parameters.AddWithValue("@products_Name", txtProName.Text);
try
{
con.ExecuteNonQueryF();
this.categoriesTableAdapter1.Fill(this.purchasemasterDS.categories);
SystemSounds.Beep.Play();
lblPostMsg.Show();
lblPostMsg.Text = "Product has been added successfully";
}
catch (Exception ex)
{
throw;
}
finally
{
con.CloseCon();
}
}
Этот код взят из dbclass
public void ExecuteNonQueryF()
{
try
{
_con.Open();
cmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
MessageBox.Show("Exception " + ex);
}