PDA

View Full Version : مشکل تغییر دادن نوع فیلد



oghab
دوشنبه 19 دی 1384, 13:59 عصر
سلام
من در sql یک جدول دارم که یک فیلد داره به اسم ghad. و از طریق adotable در برنامه ام در دلفی به این جدول وصلم و یکسری dbedit هم به این adotable متصل هست.
نوع فیلد ghad از نوع int در sql تعریف شده بود و حالا بنا به دلایلی مجبور شدم نوع آن را به decimal تغییر بدم.
حالا وقتی برنامه ام را در دلفی run می کنم این error ها را میده.
چکار کنم که نوع این فیلد در دلفی هم مثل فیلد متناظرش در sql بشه. آخه تو دلفی که بارش نوع مشخص نکردم.
نمی تونم به کل این adotable را بردارم و یکی دیگه از اول بذارم تا این مشکل حل بشه. چون این جدول 58 فیلد داره و تمام این فیلدها به یک dbedit یا dbradiobutton یا dbcheckbox یا .. وصل است و کار خیلی زمانگیری که بخواهم همه اینها را از اول متصل کنم.
خیلی ممنون میشم راهنمایی کنید

mzjahromi
دوشنبه 19 دی 1384, 14:08 عصر
شما آیا وقتی روی DataSet دوبار کلیک می کنید لیست فیلدها رو مشاهده می کنید؟
اگر اینطور هست از اون لیست فیلد مورد نظر رو حذف کنید و دوباره اضافه کنید

saniak_robot
دوشنبه 19 دی 1384, 14:28 عصر
ببین دوست من می تونی تو sql گزینه generate sql script رو بزنی تا اسکریپت جدولتو بگیری بعد تو اسکریپت نوعشو دسیمال کنی و دوباره اونو بسازی
رو جدول راست کلیک کن بعد all task / generate sql script

mzjahromi
دوشنبه 19 دی 1384, 14:49 عصر
ببین دوست من می تونی تو sql گزینه generate sql script رو بزنی تا اسکریپت جدولتو بگیری بعد تو اسکریپت نوعشو دسیمال کنی و دوباره اونو بسازی
رو جدول راست کلیک کن بعد all task / generate sql script
ولی اونطور که من فهمیدم مشکل دوستمون سمت دلفی هست نه SQLServer

oghab
دوشنبه 19 دی 1384, 15:26 عصر
شما آیا وقتی روی DataSet دوبار کلیک می کنید لیست فیلدها رو مشاهده می کنید؟
اگر اینطور هست از اون لیست فیلد مورد نظر رو حذف کنید و دوباره اضافه کنید

سلام
متشکرم
ولی درست نشد.

حتی adotable هم حذف کردم و یه adotable جدید گذاشتم. بازم وقتی برنامه را run می کنم. همون error را میده.
تازه یه چند تا فیلد توی یه جدول دیگه دارم که نوعشون real است. منتها وقتی یه عدد اعشاری توشون ذخیره می کنم. دفعه بعد که مشاهده شون می کنم.یه ده رقم اعشار اومده جلوش. برای رفع این مشکل تصمیم داشتم اونها را هم decimal کنم ولی حالا که این error پیش اومده می ترسم اونا ها را هم درست کنم.

mzjahromi
دوشنبه 19 دی 1384, 15:33 عصر
من با DBEdit خیلی کم کار می کنم ولی به نظر میرسه از DBEdit باشه.
این تست رو بکن
DBEdit رو به یه فیلد دیگه وصل کن. بعد دوباره به همون فیلد وصلش کن.یا DBEdit رو حذف کن و یکی دیگه بذار ببین درست میشه؟
آخه از چند جا که بیشتر نمیتونه باشه

oghab
دوشنبه 19 دی 1384, 16:04 عصر
سلام
خیلی خیلی متشکرم که لطف می کنید و راهنمایی می کنید!
مشکلم حل شد.
با همون راه اول که گفتید.
راستش من یک فرم دیگه هم داشتک که با این جدول وصل بود و در اون فرم فقط یه گرید به این adotable وصل بود. و توی اون گرید اصلا این فیلد نمایش پیدا نمی کرد. برای همین اصلا فکر نمی کردم به اونجا ربطی پیدا کنه. و هر دو adotable1 اسمشون بود. بنابراین با هر بار دادن این error من توجهمم معطوف به همو فرمی می شد که تمام فیلدها نمایش داده می شدند.
و حالا همون راه اول شما را برای اون یکی adotable انجام دادم و مشکل حل شد!
بازم ممنونم
شرمنده مشکل از بی دقتی من بود و گرنه همون بار اول مشکل حل می شد
با آرزوی موفقیت
حالا یه سوال دیگه در مورد فیلدهایی که نوعشون real هست راه دیگه ای غیر از تغییر type به دسیمال وجود داره که بیشتر از دو رقم اعشار ذخیره نکنه. یعنی من فقط دو رقم اعشار به ورودیهام میدم ولی موقع بازیابی کلی رقم اعشار میاد جلوش.
بازم ممنونم

mzjahromi
دوشنبه 19 دی 1384, 18:05 عصر
فکر می کنم رو DataSet که دوبار کلیک می کنی اگه فیلد مورد نظر رو انتخاب کنی یه DisplayFormat داره با اون باید کار کنی. اگه خودت نتونستی بگو تا برات پیداش کنم

oghab
سه شنبه 20 دی 1384, 18:18 عصر
سلام
خیلی ممنونم
همونطور که گفته بودید displayFormat را پیدا کردم. تا بحال باهاش کار نکرده بودم. ولی از تو help دلفی خوندم و مشکلم حل شد و درست شد.
بازم ممنونم :لبخندساده
موفق باشید

mzjahromi
سه شنبه 20 دی 1384, 18:24 عصر
خواهش...........