PDA

View Full Version : میخوام که تاریخ رو تو سی شارپ ذخیره کنم



مهدی رحیم زاده
یک شنبه 10 اردیبهشت 1385, 19:07 عصر
میخوام که تاریخ رو تو سی شارپ ذخیره کنم . از چی استفاده کنم . از بانک sql استفاده می کنم . نوع فیلد رو هم از نوع datatime انتخاب کردم .
_______________________دوست دار شما iranmsb

Mehrafrooz
یک شنبه 10 اردیبهشت 1385, 21:14 عصر
اگر منظورتون ذخیره تاریخ شمسیه :
ابتدا تاریخ رو به میلادی تبدیل کنید و بعد ذخیره کنید . و موقعی که می خواید نشون بدید تاریخ ذخیره شده رو به شمسی تبدیل کنید و بعد نشون بدید .

ali_kolahdoozan
یک شنبه 10 اردیبهشت 1385, 21:19 عصر
اصلا از فیلد datetime استفاده نکن . این نظرم نیست که بگم و رد بشم . بعدا گیر می افتی تاریخ رو توی فیلد char ذخیره کن . بازم تاکید میکنم این یک نظر شخصی نیست . کاری است که از هر کس بپرسی همین رو بهت میگه

alinux_redhat
یک شنبه 10 اردیبهشت 1385, 22:10 عصر
موافقم
بهتره از یه فیلد nchar استفاده کنی
برای راحتی کار اگه کمپوننت آماده نداری از یه maskTextBox استفاده کن هر چند که خودم زیاد خوشم نمیاد

mehdik76
دوشنبه 11 اردیبهشت 1385, 15:25 عصر
اگر منظورتون ذخیره تاریخ شمسیه :
ابتدا تاریخ رو به میلادی تبدیل کنید و بعد ذخیره کنید . و موقعی که می خواید نشون بدید تاریخ ذخیره شده رو به شمسی تبدیل کنید و بعد نشون بدید .
ممکنه یه کم توضیح بدید چطوری میشه این کارو کرد. البته اگه همراه با کد باشه خیلی بهتره.
البته من نحوه تبدیل تاریخ میلادی به شمسیرو می دونم فقط می خوام بدونم چطوری میشه یک فیلد تاریخ رو فقط موقع نمایش به شمسی تبدیل کرد و هنگام ورود داده هم اونو تبدیل به میلادی کرد تا در پایگاه داده اکسس یا SQL بصورت میلادی ذخیره بشه ؟
خیلی ممنون.

Mega7000
دوشنبه 11 اردیبهشت 1385, 17:46 عصر
سلام آقای mehdik76
می شه تبدیل رو زحمت بکشید واسه من توضیح بدید؟

Mehrafrooz
دوشنبه 11 اردیبهشت 1385, 18:28 عصر
ببینید شما وقتی اطلاعات رو از دیتابیس می خونید این اطلاعات رو یا در دیتا گرید یا در تکست باکس و ... نشون میدید . کاری که باید انجام بدید اینه که یه function می نویسید که ورودی اون تاریخ میلادیه و خروجیش تاریخ شمسی . وقتی می خواید مثلا تاریخ رو در یک لیبل نشون بدید قبلا ، تاریخ موجود در دیتابیس رو به این function می فرستید و بعد خروجی اونو به لیبلتون اضافه می کنید و این کار رو برای تک تک رکوردهاتون انجام میدید .
البته در همین سایت ابزارهای بسیار مناسبی برای تبدیل تاریخها وجود داره که می تونید از اونها استفاده کنید .

mehdik76
سه شنبه 12 اردیبهشت 1385, 13:34 عصر
سلام آقای mehdik76
می شه تبدیل رو زحمت بکشید واسه من توضیح بدید؟
می تونید به این تاپیک ها رجوع کنید. مطمئنا مشکلتون حل میشه ...

http://www.barnamenevis.org/forum/showthread.php?t=1575

http://www.barnamenevis.org/forum/showthread.php?t=28289

mehdik76
سه شنبه 12 اردیبهشت 1385, 15:07 عصر
تاریخ موجود در دیتابیس رو به این function می فرستید و بعد خروجی اونو به لیبلتون اضافه می کنید و این کار رو برای تک تک رکوردهاتون انجام میدید .

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

Mehrafrooz
سه شنبه 12 اردیبهشت 1385, 16:00 عصر
دوست عزیز شما بعد از اینکه دیتاست رو پر کردی باید این کارو انجام بدی . یعنی اینکه دیگه نباید تکست باکس رو به اون فیلد تاریخ بایند کنی یعنی باید محتویات تکست باکس رو دستی و از طریق کد نویسی پر کنی .
برای آپدیت کردن دیتا ست هم همینطور یعنی باز هم نباید تکست باکس رو بایند کنید . موقع آپدیت کردن باید تاریخ تبدیل شده رو به دیتا ست بفرستی باز هم به صورت دستی و از طریق کد نویسی .
فکر می کنم شما بصورت ویزاردی دارید کار می کنید که برای این کار جواب نمیده .

nima_dir
سه شنبه 12 اردیبهشت 1385, 23:42 عصر
سلام دوستان
من هم در این زمینه یه سوال داشتم
اگه بخواهیم اطلاعات رو از db تو یه جدول نشون بدیم که یه فیلد تاریخ داشته باشه چجوری میشه این تبدیل رو از میلادی به شمسی داشته باشیم
ممنون

Mehrafrooz
سه شنبه 12 اردیبهشت 1385, 23:45 عصر
دو روز فرصت بدید یه مثال ساده براتون می نویسم .

Mehrafrooz
چهارشنبه 13 اردیبهشت 1385, 03:56 صبح
خوب خوشبختانه دو روز طول نکشید . این یک مثاله سادس که با دات نت 2005 نوشته شده .
توضیحات تو سورس برنامه داده شده . برای تبدیل تاریخها از persia.dll استفاده شده .
می تونید عین همین کارو در دات نت 2003 هم انجام بدید که در اینصورت باید از persia.dll مربوط به دات نت 2003 یا ابزارهای دیگه استفاده کنید که راجع بهشون در همین سایت صحبت شده .
این هم سورس برنامه به زبان #c :

3429

mehdik76
پنج شنبه 14 اردیبهشت 1385, 19:40 عصر
دستت درد نکنه عزیز کلی از مشکل هام حل شد...:بوس::تشویق: