مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

booysusa

عضویت از 1393/04/20

راهنمایی برای ذخیره کردن و نمایش دادن تاریخ تولد در دیتابیس و گرید ویو (سی شارپ+اس کیو ال کامپکت)

  • شنبه 12 آبان 1397
  • 10:20
تشکر میکنم

با درود
من یه برنامه نوشتم حالا میخوام بجز نام و نام خانوادگی، تاریخ تولد هم ذخیره کنه و نمایش بده
این فایل برنامه من هست
لطفا دانلود و بررسی کنید
لینک دانلود


این تیکه کدهایی هست که من برای برنامه نوشتم لطفا راهنمایی کنید چطوری باید تاریخ را درج کنم که مثلا بصورت 1397/08/12 در بیاید
لازم به ذکر هست که داده های سطر تاریخ تولد رو Datetime تنظیم کردم
من نوشتن کد ذخیره تاریخ را بلد نیستم، معمولا با Nvarchar وارد می کردم که کار زیبایی نیست و همچنین نمیخوام مدام اسلش ها / را بصورت دستی وارد کنم برای همین میخواهم با داده های Datetime وارد دیتابیس کنم

البته من منظورم این هست که در TextBox بصورت دستی هم بتونم تاریخ وارد کنم کافی هست ولی این هم یک DLL تقویم فارسی بسیار زیبا هست که اگر بشود در برنامه استفاده کردم عالی هست

پاسخ های این پرسش

تعداد پاسخ ها : 5 پاسخ
کاربر سایت

booysusa

عضویت از 1393/04/20

  • یکشنبه 13 آبان 1397
  • 10:15

کسی بلد نیست راهنمایی کنه؟

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • یکشنبه 13 آبان 1397
  • 11:48

شما در بانک اطاعاتی تاریخ مورد نظر رو به صورت میلادی ذخیره کنید و هنگام نمایش اون رو به شمسی تبدیل کنید. برای این کار میتونید از DNTPersianUtils.Core استفاده کنید.

کاربر سایت

booysusa

عضویت از 1393/04/20

  • یکشنبه 13 آبان 1397
  • 17:04

مشکل من این هست که نمیدونم چطوری باید کد رو وارد دیتابیس کنم چون تا جایی که میدونم باید کانورت بشه فکر کنم

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

من نحوه ارسال اطلاعات به دیتابیس (کانورت کردن تاریخ) را نمیدونم، میخوام بصورت datetime اطلاعات ذخیره شوند، چون زیبا نیست که من رشته نوشتاری رو در دیتابیس بعنوان تاریخ وارد کنم در صورتی که میتونم از داده هایی با نوع datetime استفاده کنم، اگر امکانش هست فایلی که قبلا براتون آپلود کردم را ویرایش کنید به نحوی که در maskedtextbox اطلاعات وارد شود و بصورت datetime ذخیره شود ، سپاسگزارم

امیدوارم منظورم رو تونسته باشم برسونم

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • دوشنبه 14 آبان 1397
  • 10:17

کد های شمارو بررسی کردم فکر میکنم فیلد مورد نظرتون فیلد SerialBirthCertificate باشه. ما باید در بانک اطلاعاتی نوع داده آن را datetime تنظیم کنیم و سپس درون برنامه یک مقدار از نوع string دریافت می کنیم که همان تاریخ شمسی شما است ( 1397/01/01 ) نیازی نیست درون فرم شما ورودی را از نوع DateTime (در #c ) باشد. حال ما یک رشته داریم و باید آن را به DateTime ( که میلادی می باشد تبدیل کنیم ) تبدیل کنیم و سپس آن را در بانک ذخیره کنیم. زمان نمایش وقتی اطلاعات را از بانک دریافت کردیم نوع دریافتی ما DateTime می باشد و به صورت میلادی حال ما باید آن را به تاریخ شمسی تبدیل کنیم و نمایش دهیم. عمل تبدیل کردن را توسط لینکی که دادم انجام بدید. برای ذخیره کردن هم میتوان به صورت زیر عمل کنید:

DateTime dateTimeVariable = //some DateTime value, e.g. DateTime.Now;
SqlCommand cmd = new SqlCommand("INSERT INTO <table> (<column>) VALUES (@value)", connection);
cmd.Parameters.AddWithValue("@value", dateTimeVariable);

cmd.ExecuteNonQuery();

در قطعه کد یک نوع DateTime وجود دارد که ما میتوانیم مقدار آن را توسط تبدیل کننده که داریم به دست بیاریم و از کاربر به عنوان مثال 1397/01/02 دریافت کنیم و آن را به میلادی تبدیل کنیم بعد از تبدیل کردن آن را در ادامه به بانک اضافه کنیم.

اطاعات بیشتر

کاربر سایت

booysusa

عضویت از 1393/04/20

  • دوشنبه 14 آبان 1397
  • 22:17

من هر کاری می کنم نمیتونم تاریخ رو درست درج کنم، میتونید برام ویرایش کنید

میخوام تاریخ شمسی در فرم ثبت بشه و در قسمت DataGridview هم شمسی نمایش بده

لینک دانلود

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)