PDA

View Full Version : مشکل در ارتباط با فیلد کلید اصلی ،در جهت رفع قفل شدن برنامه



بیتافرهی
دوشنبه 04 شهریور 1387, 09:34 صبح
سلام
من با exception مشکل دارم.من دارم برنامه ای می نویسم با دیتابیس sql.مشکلم اینجاست که اگر کاربر یکی از فیلد های فرم را که اتفاقا فیلد کلید اصلی نیز باشد را پر نکند و بعد دکمهی Insert را برای ورود اطلاعات بزند،برنامه قفل می کند یا وقتی کاربر در فیلد کلی اصلی ،مقدار تکراری وارد کند نیز مشابه همین مشکل در این قسمت از کد ایجاد میشود:(مضمون پیغام اینه که مقدار مشابه وارد کردی یا در مورد اول به کلید اصلی null فرستادی)


private void btnInsert_Click(object sender, EventArgs e)
{ ...
...
//ba residan be in kode,dar suratike id ra por nakond
objcommand.ExecuteNonQuery();
...
...
}
به این نتیجه رسیدم که از try/catch استفاده کنم ولی مشکلم اینجاست که اولا نوع exception اش را نمی دانم،ثانیا نحوهی به کارگیری آن را برای حل آن نمی دانم.
این مورد در 8 تا از فرم های من تکرار میشود.لطفا مرا راهنمایی کنید.(کلا یه سوالی که همش برای من مطرحه از کجا نوع exception را بفههم؟)
میشه کد پیشنهادیتان را برایم بنویسید/

m0rteza
دوشنبه 04 شهریور 1387, 10:30 صبح
سلام . شما ختما در یک مکان عملیات درج را انجام میدید. شما در میان فیلد ها بعضی هاشون باید پر شن . پس قبل از ذخیره یک پیغام بدید که مثلا "ورود کد اجباری است" یا قبل از اون چک کنید آیا همچین کدی وجود داره یا نه؟ و طرز کد نویسی به صورت زیر هست



public void insert()
{
if(!Func_AllowSave())
return;
//inja dastoooore Insert ro benvis
}
public bool AllowSave()
{


if(Txt_Code.Text=="")
{
messageBox.Show("کد وارد نشد")
Txt_Code.Focus();
return false;
}

siting select="SElect * From Tbl where Code="+Txt_Code.text;
Dataset Ro por konid
if(Ds.Table["Tbl"].Row.Count==0)
return False

return true /// dar soorati ke hich khataee nabood

}

h.jaza
دوشنبه 04 شهریور 1387, 12:28 عصر
نیازی نیست که شما حتما نوع اکسپشنو بدونی، خیلی ساده مینیویسی که در هر حالتی که مشکل بوجود اومد، مثلا فلان کارو انجام بده.


try
{
...
...
...
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}