PDA

View Full Version : سوال: ثبت نکردن داده های تکراری در دیتابیس



farshadvl
شنبه 02 اردیبهشت 1391, 13:31 عصر
سلام
من می خواهم یکسری اطلاعات متنی وارد دیتابیس (اکسس ) کنم.وقتی دکمه افزودن را میزنم خطای duplicate میده چون مثلا یک رکورد قبلا باین اطلاعات ثبت شده است.حالا چجوری میتونم کاری کنم که از وارد کردن این رکورد صرفنظر کنه و بقیه رکږردهامو وارد دیتابیس کنه و خطا نده؟

omidamiry
شنبه 02 اردیبهشت 1391, 17:16 عصر
توضیح بشیتر بده

احتمالا اگر جند تا فیلد داری فیلد کلیدت داره تکرار میشه که خطاس
:متفکر:

farshadvl
شنبه 02 اردیبهشت 1391, 18:48 عصر
آره دقیقا مشکلم همینه.نمیشه کاری کر وقتی کلید تکراری بود بره رکورد بعدی را ثبت کنه؟

ali_habibi1384
شنبه 02 اردیبهشت 1391, 19:43 عصر
قبل از ورود ازلاعات يه سرچ بزن توي ديتابيست اگه وجود داشت نذار ثبت كنه ديگه!
اگر نياز به ثبت تكراري هم داري يه فيلد كليد ديگه درست كن كه آيدنتيتي باشه

farshadvl
شنبه 02 اردیبهشت 1391, 20:22 عصر
دارم اینکارو میکنم یه ګیر کوچیک میکنه
نوع فیلد ID تو اکسس integer هست و وقتی میخام بیارمش توی سی شارپ با دستور int32.parse() اینکارو میکنم ارور میده واسه تبدیل نوع عدد اکسس به نوع های دات نت چیکار باید کرد؟
ممنو میشم اینم جواب بدید

ali_habibi1384
شنبه 02 اردیبهشت 1391, 22:37 عصر
اصولا فرقي نداره و مشكلي نبايد داشته باشه. از اين دستور استفاده كن ببين جواب ميده بهت يا نه:


Convert.ToInt32(عبارت)

farshadvl
یک شنبه 03 اردیبهشت 1391, 18:56 عصر
اینم همین مشکل را دارم .واسه خودمم جالب شده آخه نوع اینتیجر نباید ګیر بده.اروروش data type mismatch میده وقتی کانورت میکنم

behrooz123
سه شنبه 05 اردیبهشت 1391, 12:34 عصر
سلام دوست عزیز .
به احتمال زیاد مقداری که به تابع Convert.ToInt32(عبارت) می فرستی مقدار رشته ای داره که حاوی عدد نیست.
برای بررسی مشکلت تو حالت Debug کدت رو چک کن

omidamiry
پنج شنبه 07 اردیبهشت 1391, 16:09 عصر
یه احتمال ؟؟؟؟؟؟؟؟؟؟؟؟

اگر فیلد آیدی اتو نامبره پس شما نمیونی ست کنی و لی اگر آیدی اینتیجره میتونید از ایدیهای قبلیتون ماکس بگیرید و بعلاوه یک کنید تا آدی جدید بسازید و رکورد رو ست کنید .

یه مسئله زمانی که سلکت میکنید چه اکسس چه اسکیوال دستورتون باید درست باشه تاجواب بده .

من پیشنهاد میکنم از روش غیر متصل استفاده کنید چون تو این روش با خود ویژوال دستور میسارید و همونجا تست میکنید اگر اشتباه باشه خطا رو نشون میده.

یه دیتا ست بسازید جدولتونو ادد کنید از اسکیوال سرور کنار بعد تو تیبل آدابتورش ادد کواری کنید و ادامه فقط هر پنجره ای باز میشه بخون راحته