PDA

View Full Version : انتخاب رکوردهایی که تاریخ انقضا امروز یا روزهای گذشته هستش



programerinfonet
جمعه 11 بهمن 1392, 12:23 عصر
سلام دوستان
من تو بانکم یک فیلد از نوع nvarchar دارم که تاریخ به شکل "1392/11/11" داخلش ثبت میشه حالا میخوام با اجرای برنامه رکوردهایی که تاریخش امروز یا روزهای گذشته هستند تو گرید نمایش داده بشه . کد زیر کار نکرد
WHERE Expier_Parvaneh =<'"+strdate.ToString()+"'
باید کدم رو چه جوری بنویسم ؟
لطفأ کمکم کنید
ممنون

forodo
جمعه 11 بهمن 1392, 13:36 عصر
سلام
باید دقیقاً دوتا تاریخ یک فرمت رو داشته باشند.
1392/11/11
باید اون یکی تاریخ دقیقاً 10 کاراکتر باشه و مثل این اول روز بعد ماه بعد سال باشه تا این دستور کار کنه.
برای من که مشکلی نداشته و مثل شما کار کردم.

امیر مهرشاد
جمعه 11 بهمن 1392, 13:41 عصر
من وقتی میخوام مثلا بصورت هوشمند و بدون دخالت کاربر درآمد ماه جاریمو بدست بیارم حالا میخواد امروز نهم باشه یا 31 یا هر چی تاریخ رو یجایی میزارم و با این کدی که نوشتم خیلی راحت هر چی میخوام بدست میارم

فک کنم منظور شما هم همین باشه



//نمایش درآمد ماه جاری
string JARI = txtTarikhName.TextDate.Substring(0, 8).ToString();
SqlCommand com2 = new SqlCommand("SELECT SUM(Mablagh) AS Expr1 FROM TblDaramadha where (Tarikh like N'%" + JARI + "%') ", con);
lblAdadDaramadJari.Text = Convert.ToString(com2.ExecuteScalar().ToString() + "ریال");

امیر مهرشاد
جمعه 11 بهمن 1392, 13:44 عصر
string JARI = txtTarikhName.TextDate.Substring(0, 8).ToString();

این ماه رو بر میگردونه که میگه ما الان توی چه ماهی از سال هستیم اینجا مثلا میده 11

باقیشم که دیگه مشخصه هر جایی که برج یازده باشه ..... البته سال هم میتونید اضافه کنید همزمان

programerinfonet
جمعه 11 بهمن 1392, 13:44 عصر
سلام
باید دقیقاً دوتا تاریخ یک فرمت رو داشته باشند.
1392/11/11
باید اون یکی تاریخ دقیقاً 10 کاراکتر باشه و مثل این اول روز بعد ماه بعد سال باشه تا این دستور کار کنه.
برای من که مشکلی نداشته و مثل شما کار کردم.
دقیقأ هر دو تا تاریخ یک فرمت دارن هم تاریخ تو دیتابیس هم تاریخ توی برنامه . اما نمی دونم چه جوری بگم رکوردهایی رو نمایش بده که تاریخ امروز به قبل بوده یعنی تاریخ گذشته ها

امیر مهرشاد
جمعه 11 بهمن 1392, 13:46 عصر
شما با متد Substring هم میتونید عدد روزتونو بگیرید و بعد یک یا چند روز اضافه یا کم کنید و حاصل این نتیجه ای که بدست میاد رو بزارید توی where

امیر مهرشاد
جمعه 11 بهمن 1392, 13:47 عصر
دقیقأ هر دو تا تاریخ یک فرمت دارن هم تاریخ تو دیتابیس هم تاریخ توی برنامه . اما نمی دونم چه جوری بگم رکوردهایی رو نمایش بده که تاریخ امروز به قبل بوده یعنی تاریخ گذشته ها


با not like و تاریخ امروزتون خیلی راحت فقط تاریخ قبلی ها سلکت میشن

forodo
جمعه 11 بهمن 1392, 13:55 عصر
مشکل شما اون علامته که باید => باشه نه >=
من الان این رو توی SQL Server 2008 توی کوئری نوشتم به من اینو برگردوند:

SELECT SubmitDate
FROM tblTahvileDarai
WHERE SubmitDate <= '1392/07/20'

116229
تاریخها هم اینا بود توی جدولم:
116230

امیر مهرشاد
جمعه 11 بهمن 1392, 13:56 عصر
بیا اگه منظورتون انتخاب تمام تاریخهای گذشته هست غیر تاریخ جاری



SELECT Tarikh FROM TblMyDate WHERE (Tarikh NOT LIKE '1392/11/11')


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

116232


116231

Mousavmousab
جمعه 11 بهمن 1392, 16:35 عصر
این تاپیک واقعاٌ کاربردی است.
دست همهتون درد نکنه