PDA

View Full Version : انتخاب رکوردی از db که تاریخش برابر تاریخ سیستم است



shirin_h
شنبه 01 دی 1386, 15:54 عصر
سلام
من کد زیر را برای انتخاب ستون تاریخ_چک_اول از جدول db می نویسم ولی متآسفانه خروجی مد نظرم را تو لید نمی کنه
لطفآ راهنماییم کنین.
مرسی


comtxt = "SELECT * FROM t1 WHERE (" +
"تاریخ_چک_اول='" + System.DateTime.Today.Date.ToString() + "' " +
")";
da = newSqlDataAdapter(comtxt, conn);
da.TableMappings.Add("Table", "t1");
da.Fill(ds);
this.dviewmanager=ds.DefaultViewManager;
this.comboBox1.DataSource = this.dviewmanager;
this.comboBox1.ValueMember = "t1.تاریخ_چک_اول";


من تو این کد می خوام رکوردی را که تایخ چکش برابر تاریخ امروز سیستم انتخاب کنم.
البته باید بگم که تاریخ رو در db بصورت nchar ذخیره کردم.

hassan razavi
شنبه 01 دی 1386, 16:01 عصر
اولین مشکل اینه که System.DateTime.Today.Date.ToString تاریخ و ساعت رو باهم برمیگردنه و باید از


System.DateTime.Today.Date.ToShortDateString().ToS tring();

استفاده کنید. (البته اینهم به این بستگی داره که فرمت ShortDate سیتمتون چی باشه ، اگه با اون فرمتی که در بانک ذخیره کردید یکسان نیست باید با CultureInfo درستش کنید)

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

shirin_h
شنبه 01 دی 1386, 16:44 عصر
ممنون از راهنماییتون
کمک بزرگی بود.
حالا که این مشکلم بر طرف شد یخورده زیاده خواه شدم :لبخند:
میشه تو موارد زیر هم کمکم کنین
1- اگه تاریخ تو db بصورت شمسی ذخیره شده باشه چطور می تونم با تاریخ سیستم مقایسش کنم؟
2-چطوری میشه با تاریخ روز بعد سیستم مقایسه کرد؟

hassan razavi
شنبه 01 دی 1386, 16:53 عصر
DateTime dt=DateTime.Now;
dt.AddDays(1);
pc.GetYear(dt);
pc.GetMonth(dt);
pc.GetMinute(dt);

shirin_h
شنبه 01 دی 1386, 17:05 عصر
می شه در مورد کدتون توضیح بدید که چی کار می کنه؟

shirin_h
شنبه 01 دی 1386, 18:07 عصر
من توسط کدتون تونستم با تاریخ فردای سیستم مقایسه کنم
می شه در مورد سوال اولم(شمسی بودن تاریخ) هم توضیح بدین
ممنونم.

hassan razavi
شنبه 01 دی 1386, 18:58 عصر
1- اگه تاریخ تو db بصورت شمسی ذخیره شده باشه چطور می تونم با تاریخ سیستم مقایسش کنم؟

شما که تونستید تاریخ شمسی رو بسازید ، حالا کافیه اونو با تاریخهای داخل دیتابیس مقایسه کنید.
حالا مشکل کجاست !؟

shirin_h
شنبه 01 دی 1386, 19:03 عصر
تاریخ تو DB ام بصورت nchar ذخیره شده
اگه کاربر تاریخ رو بصورت شمسی وارد کنه و به صورت شمسی تو db ذخیره شه چطور می تونم تاریخ سیستم رو به شمسی تبدیل کنم و بعد بصورت رشته در بیارم و با رشتة تاریخ تو db مقایسه کنم؟

hassan razavi
شنبه 01 دی 1386, 19:32 عصر
DateTime dt=DateTime.Now;
pc.GetYear(dt);
pc.GetMonth(dt);
pc.GetMinute(dt);


1- تاریخ جاری رو در dt میریزید 22/12/2007
2- سال شمسی dt رو بدست بیاورید : 1386
3-ماه شمسی dt رو بدست بیاورید : 10
4- روز شمسی dt رو بدست بیاورید : 1

حالا کافیه اینهارو به String تبدیل و بهم بچسبونید تا تاریخ شمسی رو بدست بیاورید.
تمام

shirin_h
شنبه 01 دی 1386, 21:23 عصر
منظورتون از pc همون persian calender هستش؟
من چجوری می تونم از pesian calender تو برنامم استفاده کنم؟

hassan razavi
شنبه 01 دی 1386, 21:27 عصر
ببخشید که جا موند


System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();

shirin_h
شنبه 01 دی 1386, 23:22 عصر
ممنونم آقای رضوی کمک بزرگی در حقم کردید.