ورود

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



atiishpare
25-09-2013, 15:02
با سلام.
من یه جدول دارم که دوتا از فیلداش باید توش تاریخ ذخیره بشه. با دستور insert مقادیرو ذخیره میکنم. همه فیلدا درست ذخیره میشن ولی به جای تاریخ ها مقدار صفر ذخیره میشه.به اینصورت (0000/00/00)
نوع فیلدا رو هم از نوع date و هم از نوع varchar قرار دادم ولی در هیچ صورت درست نمیشه.
به نظر شما دوستان اشکال ازکجاس؟

hamedarian2009
25-09-2013, 22:24
شما اگه برات شمسی بودن مهم نیست از تابع date استفاده کنید به ایتصورت:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اولش تابع date رو مثل بالا تو یه متغیر بریزین بعدش متغیرو insert کنید

atiishpare
26-09-2013, 10:18
شما اگه برات شمسی بودن مهم نیست از تابع date استفاده کنید به ایتصورت:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اولش تابع date رو مثل بالا تو یه متغیر بریزین بعدش متغیرو insert کنید

دوست عزیز ممنونم ازینکه وقت گذاشتید. حتما باید از تاریخ شمسی استفاده کنم. بنظرتون مشکل از اینه؟ البته تاریخو بعد محاسبه توی متغیر میریزم و بعد insert میکنم.

hamedarian2009
26-09-2013, 17:57
برای اینکه از تاریخ شمسی استفاده کنید باید از برنامه ای واسه همین کار نوشته شده رو دانلود کنید و از تابع jdate استفاده کنیدآموزش استفاده ان و هم خود برنامه در سایت شون موجود است:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

atiishpare
27-09-2013, 15:58
برای اینکه از تاریخ شمسی استفاده کنید باید از برنامه ای واسه همین کار نوشته شده رو دانلود کنید و از تابع jdate استفاده کنیدآموزش استفاده ان و هم خود برنامه در سایت شون موجود است:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

من دقیقا از همین تابع استفاده میکنم. مشکل اینجاست که وقتی مقدار برگردانده شده توسط این تابع را echo میکنم تاریخم درسته ولی توی دیتابیس 00-00-0000 ذخیره میشه. تاریخ میلادی درست ذخیره میشه و وقتی تاریخ میلادی رو از دیتابیس میگیرم و به تابع jdate میدم هم تاریخ اشتباه چاپ میکنه. به نظرتون چیکار کنم دوست عزیز؟:n13:

pinky
27-09-2013, 16:47
آقا من سوالم رو هم اینجا میپرسم که دیگه تاپیک واز نکنم

من یه table دارم که 170 تا ستون داره میخواستم ببینم این غیر طبیعیه این تعداد ستون ؟ غیر حرفه اییه؟
می خواستم ببینم من بهتره توسط relation از تعداد ستون هام کم کنم بریزمشون درون جدولای دیگه یا اینکه اگه کارم داره راه میوفته مشکلی نیست یه table حتی 200 تا ستونم داشته باشه؟

hamedarian2009
27-09-2013, 20:29
من دقیقا از همین تابع استفاده میکنم. مشکل اینجاست که وقتی مقدار برگردانده شده توسط این تابع را echo میکنم تاریخم درسته ولی توی دیتابیس 00-00-0000 ذخیره میشه. تاریخ میلادی درست ذخیره میشه و وقتی تاریخ میلادی رو از دیتابیس میگیرم و به تابع jdate میدم هم تاریخ اشتباه چاپ میکنه. به نظرتون چیکار کنم دوست عزیز؟:n13:

شما احتمالا تو دیتابیس نوع فیلد تاریخ رو date گزاشتین اگه درسته این نوع واسه تاریخ میلادی هست و ما که شمسی میخواهیم وارد کنیم باید نوعش varchar بزاری

hamedarian2009
27-09-2013, 20:39
آقا من سوالم رو هم اینجا میپرسم که دیگه تاپیک واز نکنم

من یه table دارم که 170 تا ستون داره میخواستم ببینم این غیر طبیعیه این تعداد ستون ؟ غیر حرفه اییه؟
می خواستم ببینم من بهتره توسط relation از تعداد ستون هام کم کنم بریزمشون درون جدولای دیگه یا اینکه اگه کارم داره راه میوفته مشکلی نیست یه table حتی 200 تا ستونم داشته باشه؟

170 تا ستون؟ مگه واسه چه کاریه؟:n13:
نه محدودیتی واسه تعداد ستون وجود نداره فقط اگه بخواهید به این جدول select بزنید زمان بیشتری میخواد و زمانی که در شبکه میخواهید استفاده کنید ممکنه درخواست timeout بشه و جوابی رو به کلاینت نده
پس بهتره تو چنتا جدول اطلاعاتتونو بریزید

atiishpare
29-09-2013, 14:24
شما احتمالا تو دیتابیس نوع فیلد تاریخ رو date گزاشتین اگه درسته این نوع واسه تاریخ میلادی هست و ما که شمسی میخواهیم وارد کنیم باید نوعش varchar بزاری

متاسفانه باز درست نشد.فیلد رو از نوع varchar هم گذاشتم ولی همچنان 0 ذخیره میشه.

hamedarian2009
29-09-2013, 17:06
متاسفانه باز درست نشد.فیلد رو از نوع varchar هم گذاشتم ولی همچنان 0 ذخیره میشه.
کدهای قسمت insert کردن بزار تا بررسی بشه

MERLIN_BOZORG
29-09-2013, 22:47
متاسفانه باز درست نشد.فیلد رو از نوع varchar هم گذاشتم ولی همچنان 0 ذخیره میشه.

شاید مقدار رو جای اشتباهی مینویسین
باید ترتیب فیلدهای جدول پایگاه داده رو حفظ کنید

A.N.A.P
30-09-2013, 15:07
متاسفانه باز درست نشد.فیلد رو از نوع varchar هم گذاشتم ولی همچنان 0 ذخیره میشه.
بايد بذاري رو TIMESTAMP .
مقدار Default رو هم بذار روي CURRENT_TIMESTAMP
بايد درست بشه.

atiishpare
07-10-2013, 13:12
دوستان عزیز A.N.A.P , MERLIN_BOZORG , hamedarian 2009 ممنون ازینکه وقت گذاشتین واسه راهنمایی من.:n16:
نوع فیلدمو text گذاشتم مشکلم حل شد .