PDA

View Full Version : سوال: مشکل در ورود اطلاعات به دیتابیس



aminaltavista
شنبه 03 تیر 1391, 22:34 عصر
سلام
زمانی که دکمه ذخیره رو میزنم اطلاعات تو دیتابیسم ثبت میشه !
مشکل این جاست زمانی که به یه خطا بر میخوره مثلا اطلاعات تکراری خطا با try catch رفع میشه و دستورات ذخیرم هم همین طور ولی هیچ تاثیری تو دیتابیسم مشاهده نمیکنم مشکل کجاست

saeedhushmand
شنبه 03 تیر 1391, 22:37 عصر
دوست عزیز با فونت خوانا بنویس من که نفهمیدم چی نوشتی...

aminaltavista
شنبه 03 تیر 1391, 22:45 عصر
دوست عزیز با فونت خوانا بنویس من که نفهمیدم چی نوشتی...

حق با شماست ! مشکل از مرورگرم بود رفعش کردم

ROSTAM2
شنبه 03 تیر 1391, 22:52 عصر
سلام
زمانی که دکمه ذخیره رو میزنم اطلاعات تو دیتابیسم ثبت میشه !
مشکل این جاست زمانی که به یه خطا بر میخوره مثلا اطلاعات تکراری خطا با try catch رفع میشه و دستورات ذخیرم هم همین طور ولی هیچ تاثیری تو دیتابیسم مشاهده نمیکنم مشکل کجاست


ولی هیچ تاثیری تو دیتابیسم مشاهده نمیکنم

منظورتون از تاثير چيه ؟؟؟
اگه همون آيتم كه خطا داده ثبت نم شه كه خوب خطا داشته كه بايد ببينيد خطا واسه چيه!
اگه اطلاعات كامل پاك مي شه بايد ديد بدون دستكاري ديتابيس توي پروژه برنامه رو ديباگ مي كنيد يا بدون دستكاري ديتا بيس برنامه رو ريستارت مي كنيد ؟؟
براي اينكه مطمئن بشيد يه بار برنامه رو build كنيد و به پوشه ديباگ بريد و از همونجا اجرا كنيد تا خطا بده بينيم اطلاعات كاملا پاك مي شه يا نه ؟!!!

:افسرده: فونتو درست كردي؟ :ناراحت:

saeedhushmand
شنبه 03 تیر 1391, 22:56 عصر
دوست عزیز دیتابیس ها اطلاعات تکراری رو هم ثبت می کنند اگر مشکل شما توی ذخیره اطلاعات تکراریه ولی ذخیره نمی کنه شاید شما یک دستوری برای اطلاعات تکراری قبل از عمل insert نویشتید مثلا دستوری select که اگر اطلاعات در دیتابیس وجود داشت مثلا textbox1 خالی کنه و امکان داره برای دخیره اطلاعات شما نباید textbox1 خالی باشه اگر هم این طور نیست کدتوی button بذارید تا بشه بهتر کمک کرد...

شما می تونید دستور try موقتا بردارید تا ارور مشخص بشه...

aminaltavista
شنبه 03 تیر 1391, 23:09 عصر
منظورتون از تاثير چيه ؟؟؟
اگه همون آيتم كه خطا داده ثبت نم شه كه خوب خطا داشته كه بايد ببينيد خطا واسه چيه!
اگه اطلاعات كامل پاك مي شه بايد ديد بدون دستكاري ديتابيس توي پروژه برنامه رو ديباگ مي كنيد يا بدون دستكاري ديتا بيس برنامه رو ريستارت مي كنيد ؟؟
براي اينكه مطمئن بشيد يه بار برنامه رو build كنيد و به پوشه ديباگ بريد و از همونجا اجرا كنيد تا خطا بده بينيم اطلاعات كاملا پاك مي شه يا نه ؟!!!


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

الان یه دستور معمولی برا ذخیره کردن چندتا مقدار تو دیتابیسمون دارم.
وقتی برنامم رو اجرا میکنیم طبق روند عادی متناسب با نوع فیلدام چند مقدار میگیره و تو جدول اضافه میکنه.

خب الان فرض میکنیم یکی از فیلدهامون مثلا آی دی کلید اصلیه! بنابراین اگه یه مقدار مشابه رو توبرنامه بدم خطای کلید اصلی میده!
وقتی بهتون گفتم try catch میزارم منظورم همین بود. اگه همین عمل رو انجام بدم خطا رو میگیره ولی باز هم برنامه خطا داره چون دستورات ذخیره رو کامپایل میکنه ، حتی اگه اون جا یه پیغام مبنی بر ثبت اطلاعات بزارم ،نشونش میده .
منظورم از تاثیر همینه که چرا دستورات ذخیره رو بعد از رفع خطا اجرا میکنه ولی وقتی به صورت دستی میرم تو دیتابیسم ، جدول رو که نگاه میکنم ردیفی اضاف نشده؟ مشکلم اینه ...!

ROSTAM2
شنبه 03 تیر 1391, 23:45 عصر
فیلدهامون مثلا آی دی کلید اصلیه! بنابراین اگه یه مقدار مشابه رو توبرنامه بدم خطای کلید اصلی میده!

خوب نبايد مقدار مشابه بديد
جدول بايد بصورت خودكار id رو ايجاد و ثبت كنه
براي كليد هاي ديگه هم بايد دستوري بنويسيد كه قبلا استفاده شده
مي تونيد از query استفاده كنيد كه اگر مقدار فيلد مشابه در جدول وجود داشت پس پيامي مبتني بر وارد كردن مقدار جديد به كاربر نشون بده
و يا همين try توي قسمت message مي تونيد اين پيام رو بذاريد

aminaltavista
یک شنبه 04 تیر 1391, 09:01 صبح
خوب نبايد مقدار مشابه بديد
جدول بايد بصورت خودكار id رو ايجاد و ثبت كنه

حرف شما اینجا سند.
مقدار id رو auto number میگیرم اما هنگام ذخیره سازی برنامه یه خطا میده که مقداری به پارامترهای لازم داده نشده!
علت همینه! اما وقتی تمامی اونها رو به صورت دستی وارد میکنم درست میشه!

veniz2008
یک شنبه 04 تیر 1391, 09:58 صبح
کدی رو که نوشتی بزار تا معلوم شه مشکل کارت کجاست.