نوشته شده توسط
Mahmoud.Afrad
لایه ای کار میکنی؟ این چک کردن رو در چه لایه ای انجام میدی؟
اگر همه کلاست همینه که گذاشتی نیاز نیست کلاس ایجاد کنی. فوقش میتونی همین شرط رو جایی که نیاز هست به جای متد استفاده کنی. یا اینکه این متد رو در کلاس فرم بنویسی. اگر بگی کجا از این کلاس استفاده میکنی بهتره.
در حال حاضر که طبق گفته ی شما برنامه رو تغییر ندادم ،این ی متد از کلاس Validation هست :
public void Charecter_Validate(string name, int min, bool optional, Format format)
{
if (optional == false)
{
if (name == "")
{
throw new ArgumentNullException();
}
else if (min < 3)
{
throw new ArgumentOutOfRangeException();
}
else if (textContainsUnacceptable(name, UnAcceptable))
{
throw new Exception();
}
}
}
و بعد این هم داخل دکمه ی Add to DB :
try
{
Validation a = new Validation();
a.Charecter_Validate(textBox1.Text, textBox1.TextLength, false, Format.Alphabet);
dbopration b = new dbopration();
b.connect();
b.insert("INSERT INTO Table1 (name,family,phone,codemeli,email,address)" + "VALUES (N'" + textBox1.Text + "',N'" + textBox2.Text + "',N'" + textBox3.Text + "',N'" + textBox4.Text + "',N'" + textBox5.Text + "',N'" + textBox6.Text + "')");
b.ShowDGV("SELECT * FROM Table1", dataGridView1, lblnumber);
b.Disconnect();
}
catch (ArgumentNullException)
{
MessageBox.Show("فیلد نام خالی است");
}
catch (ArgumentOutOfRangeException)
{
MessageBox.Show("تعداد حروف نام باید حداقل سه کارکتر باشد");
}
catch (Exception)
{
MessageBox.Show("در فیلد نام فقط رشته وارد کنید");
}
با این اوصاف اگه بخام طبق گفته ی شما عمل کنم ، Catch رو کجا و با چه شکل بزارم که مثل Message به کابر نمایش داده بشه .
ممنون از لطفتون.