سلام
دوسمون هم اشاره کردن قبل از اینکه قسمت Try رو اجرا بکنید باید ورودی هایی رو که کاربر وارد میکنه رو بررسی بکنید. یعنی اول ورودی ها رو چک کنید اگر اطلاعاتی که کابر وارد کرده درست باشن قسمت Try اجرا بشه و داده ها ذخیره بشن. در غیر اینصورت برنامه از اجرای قسمت Try صرف نظر کنه.
بهتره برای اینکار یک تابع بنویسید که اطلاعات وارد شده توسط کاربر رو چک بکنه، اگه داده ها درست بودن مقدار true و در غیر اینصورت false رو برگردونه.
private bool CheckInputFields()
{
ErrorProvider ep = new ErrorProvider();
if (string.IsNullOrEmpty(txtName.Text))
{
ep.SetError(txtName, "نمیتواند خالی باشد");
return false;
}
else
ep.SetError(txtName, "");
if (string.IsNullOrEmpty(txtName.Text))
{
errorProvider1.SetError(txtName, "سال تحصیلی بایستی مشخص باشد");
return false;
}
else
errorProvider1.SetError(txtName, "");
if (string.IsNullOrEmpty(txtFamily.Text))
{
errorProvider1.SetError(txtFamily, "ترم تحصیلی بایستی مشخص باشد");
return false;
}
else
errorProvider1.SetError(txtFamily, "");
if (string.IsNullOrEmpty(txtTel.Text))
{
errorProvider1.SetError(txtTel, "گروه آموزشی بایستی مشخص باشد");
return false;
}
else
errorProvider1.SetError(txtTel, "");
if (string.IsNullOrEmpty(txtcode.Text) || txtcode.Text.Length != 10)
{
errorProvider1.SetError(txtcode, "کد ملی را بصورت یک عدد 10 رقمی وارد نمایید");
return false;
}
else
errorProvider1.SetError(txtcode, "");
if (string.IsNullOrEmpty(txtTel.Text) || txtTel.Text.Length != 11)
{
errorProvider1.SetError(txtTel, "شماره تلفن یک عدد 11 رقمی می باشد");
return false;
}
else
errorProvider1.SetError(txtTel, "");
Regex rgx;
rgx = new Regex(@"^\S+@\S+\.\S+$");
if (!rgx.IsMatch(txtemail.Text))
{
errorProvider1.SetError(txtemail, "ایمیل نامعتبر");
return false;
}
else
errorProvider1.SetError(txtemail, "");
return true;
}
حالا داخل رویداد کلیک button1 تابع بالا رو فراخوانی میکنید
private void button1_Click(object sender, EventArgs e)
{
if (!CheckInputFields())
return;
try
{
BLL objBLL = new BLL();
string Values = "('" + txtName.Text + "','" + txtFamily.Text + "','"
+ txtTel.Text + "')";
objBLL.Insert(Values);
lblconfirm.Visible = true;
}
catch
{
lblconfirm.Text = "بروز خطا در سیستم";
lblconfirm.Visible = true;
}
}
توی رویداد بالا اگه مقدارشرط که اول رویداد هست true باشه بقیه کدها اجرا میشن (یعنی قسمت try)
و اگه مقدار false باشه با دستور return کامپایلر از اجرای کدهای بعدی در این تابع خود داری میکنه و از تابع خارج میشه.
موفق باشید