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

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

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

کاربر سایت

jafar_palideh

عضویت از 1392/08/08

تقویم در برنامه تعمیرات پیشگیرانه

  • جمعه 31 شهریور 1396
  • 08:22
تشکر میکنم

با سلام .

من دارم رویه برنامه تعمیرات و نگهداری کار میکنم .

تویه کار با تقویمش مشکل دارم .

فکر کنید که من 200 تا ماشین دارم که باید تویه دوره ای خاصی یه کارهای مختلفی مثل روغنکاری یا گریسکاری یا تعویض بلبرینگ یا ... روش انجام بشه .

خوب من میام و تاریخ شروع و پایان و اون کاری که باس رویه ماشین بشه رو تویه جدولم نگه میدارم .

حالا چطور میتونم بفهمم که به تاریخ امروز سر رسید چه کاریه ؟

مثال : 

کار = روغنکاری         -                ماشین  = لیفتراک                  -             تاریخ شروع = 1396/06/20          -         تاریخ پایان =1399/12/29            دوره ی هفتگی

میخوام بدونم دقیقا باس چه کد یا کوئری بزنم ؟

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

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

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 31 شهریور 1396
  • 11:28

یک کوئری بزنید و اطلاعات مربوط به تارخ امروز رو بدست بیارید

اینطوری میتونید متوجه بشید تا امروز چه کارهایی باید انجام بدید

یک Where روی Date بزنید که برابر DateTime.Now باشه

کاربر سایت

jafar_palideh

عضویت از 1392/08/08

  • سه شنبه 4 مهر 1396
  • 10:05

خوب مشکل من دقیقا همین کوئریه .

چطوره اون دورها رو تویه کوئری با تاریخ شروع جمع کنم و با تاریخ روز مقایسه کنم به این شرط که از تاریخ پایان اون کار نگذشته باشه.

آخه امکان داره که دورهی گردش یه کار روزانه باشه یا امکان داره روزهای هفته باشه یا شاید ماهانه باشه . طبق عکس

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 4 مهر 1396
  • 10:19

در کوئری شرط بزارید = یا کوچکر از تاریخ جاری باشه و همچنین انجام نشده باشه

اینطوری میتونید بدست بیارید

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

کاربر سایت

jafar_palideh

عضویت از 1392/08/08

  • سه شنبه 4 مهر 1396
  • 10:26

من تویه جمع زدن اون دوره ها با تاریخ شروع و مقایسه اش با تاریخ جاری مشکل دارم

واسه همین یه سمپل میخوام که الگو بردارم .

ممنون میشم نمونه بزارید

بعد اینکه من تاریخ رو شمسی varchar(10) تویه دیتابیس نگه میدارم .

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 4 مهر 1396
  • 10:33

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

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

برای ذخیره شمسی از DateTime2 استفاده کنید

کاربر سایت

jafar_palideh

عضویت از 1392/08/08

  • سه شنبه 4 مهر 1396
  • 10:41

خوب من اومدم و هم تاریخ شمسی رو نگه داشتم از نوع varchar(10) و هم تاریخ میلادی رو از نوع DateTime . دوستان بزرگوار ممنون میشم اگه راهکاری داره ارائه بده . 

جمع تاریخ شروع + هریک از دوره ها و مقایسه با تاریخ جاری در صورتی که کوچکتر از تاریخ پایان باشه

برای دورهای روزانه هم همینطور

به دست آوردن روز جاری بین دو تاریخ شروع و پایان و مقایسه با روز هفته ی جاری 

کاربر سایت

jafar_palideh

عضویت از 1392/08/08

  • چهارشنبه 5 مهر 1396
  • 08:22

آقای مدائنی عزیز

این سوال بنده رو میتونید پاسخ بدید ؟

یه جدول دارم که توش 1000 تا رکورد وجود داره که شامل تاریخ شروع و تاریخ پایان و دوره ی تکراره. 
چه کوئری باید بزنم که تمامیه رکوردها رو جست و جو کنه و تاریخ شروع هر رکورد رو با دوره ی تکرار همون رکورد جمع کنه و اگه با تاریخ امروز برابر بود اون رکورد رو نمایش بده ؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 5 مهر 1396
  • 09:45

از چه ORM استفاده میکنید ؟

کاربر سایت

jafar_palideh

عضویت از 1392/08/08

  • چهارشنبه 5 مهر 1396
  • 09:57

این سوالم دقیقا مربوط به سوال PM بالاست .

من از سی شارپ برای برنامه نویسی و اس کیو ال برای پایگاه داده استفاده میکنم .

تو سی شارپ هم ارتباطم با بانک توسط ADO هست.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 5 مهر 1396
  • 10:02

کوئری پیچیده ای داره و بدون دیتای پیش فرض نمیشه نوشت

بدون تست نمیشه چنین کوئری رو را ذهن یا حدسی نوشت

کاربر سایت

jafar_palideh

عضویت از 1392/08/08

  • چهارشنبه 5 مهر 1396
  • 10:12

خوب شما برای دو رکورد میتونید محاسبه کنید ؟

تاریخ شروع                                                     تاریخ پایان                                 دوره (روزانه)

2017/09/23                                            2017/09/30                                    3

2016/01/01                                            2020/07/07                                    6

کاربر سایت

jafar_palideh

عضویت از 1392/08/08

  • چهارشنبه 5 مهر 1396
  • 13:13

کوئری سختی نبود آقای مدائنی عزیز .

البته یکی از دوستان راهنمایی فرمودن .

من اینجا میزارم تا الباقی دوستان هم استفاده کنن.

select * from dbo.TblDate t where DATEADD(DAY,t.PeriodDay,t.dateBegin)=cast(GETDATE() as date)
and cast(GETDATE() as date)<= t.DateEnd

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

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

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

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

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