PDA

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



بیتافرهی
سه شنبه 05 شهریور 1387, 10:16 صبح
سلام
من با exception مشکل دارم.من دارم برنامه ای می نویسم با دیتابیس sql.مشکلم اینجاست که اگر کاربر یکی از فیلد های فرم را که اتفاقا فیلد کلید اصلی نیز باشد را پر نکند و بعد دکمهی Insert را برای ورود اطلاعات بزند،برنامه قفل می کند یا وقتی کاربر در فیلد کلی اصلی ،مقدار تکراری وارد کند نیز مشابه همین مشکل در این قسمت از کد ایجاد میشود:

private void btnInsert_Click(object sender, EventArgs e)
{ ...
...
//ba residan be in kode,dar suratike id ra por nakond
objcommand.ExecuteNonQuery();
...
...
}

به این نتیجه رسیدم که از try/catch استفاده کنم.
1- ولی مشکلم اینجاست که اولا نوع exception اش را نمی دانم،ثانیا نحوه ی به کارگیری آن را برای حل آن نمی دانم.
این مورد در 8 تا از فرم های من تکرار میشود.

2-عمده ی مشکل من اینه که آیا روشی هست که بتونم در دیتابیسم قبل از زدن دکمهی Insert چک کنم ،که آیا مقدار مشابهه وجود دارد یا نه؟
مثلا آیا کدی مثل insert,update ,... که به راحتی از c# می توانیم با دیتابیس رابطه داشته باشیم وجود دارد یانه؟
3-معمولا در چنین مواردی روش معمول چیست؟
لطفا مرا راهنمایی کنید.

hdv212
سه شنبه 05 شهریور 1387, 10:30 صبح
خب شما میتونی توی برنامه ات، برای کاربر محدودیت ایجاد کنی، به این ترتیب که زمانی که کاربر میخواد Insert کنه، اگر فیلد مورد نظر خالی بود به کاربر هشدار بده تا مقدار خواسته شده رو وارد کنه.
اما در مورد داده های تکراری، میتونی قبل از Insert یک جستجوی ساده در دیتابیس انجام بده، در صورتی که فیلد مورد نظر پیدا نشد، عمل Insert رو انجام بده.

بیتافرهی
سه شنبه 05 شهریور 1387, 12:40 عصر
مرسی دوست عزیز .

اما در مورد داده های تکراری، میتونی قبل از Insert یک جستجوی ساده در دیتابیس انجام بده، در صورتی که فیلد مورد نظر پیدا نشد، عمل Insert رو انجام بد
گفتنش راحته ،ولی چطوری و با چه کدی از طریق #c توی دیتابیسم یک جستجوی ساده انجام دهم؟