با سلام
من قصد دارم دو تا تاریخ رو در ورودی بگیرم و تموم تاریخ خای بین اون دو تاریخ رو از دیتابیس خونده و در یک لیست ویو نشون بدم.
چون تاریخ هام رو به صورن nvarchar در دیتابیس ذخیره میکنم نمیدونم چطوری این کار رو انجام بدم.
میشه راهنماییم کنین؟
با تشکر
مشکل کجاست ؟
تاریخ ها شمسی ذخیره شده ؟
تاریخ ها شمسی وارد میشوند ؟
بله با ی تابع جی کوعری تاریخ را به صورت شمسی(1394/01/11) وارد میکنم.
از کد زیر استفاده کردم اما ج نمیده.
var q = (from x in Mybank.TblRequestQuestions
join y in Mybank.TblUserProfles on
x.MeliCode equals y.MeliCode
where ((x.ReplyDate.CompareTo(TxtDate1.Text) <= x.ReplyDate.CompareTo(TxtDate2.Text)))
select new
{
x.ReplyDate,
y.LName
}).ToList();
GridView1.DataSourceID = null;
GridView1.DataSource = q;
GridView1.DataBind();
با تابع compare تست کردم اما بازه بین اون دو تاریخ رو برنمیگردونه.
لطفا برای درج کد از کلید کد در ادیتور استفاده کنید تا بشه کدها رو خوند
var q = (from x in Mybank.TblRequestQuestions join y in Mybank.TblUserProfles on x.MeliCode equals y.MeliCode where (x.ReplyDate.CompareTo(TxtDate1.Text) <= x.ReplyDate.CompareTo(TxtDate2.Text)) select new { x.RequestQuestionID, x.Name, x.AdminReply, x.Question, x.QuestionDate, x.ReplyDate, y.LName }).ToList(); GridView1.DataSourceID = null; GridView1.DataSource = q; GridView1.DataBind();
کد زیر را تست کنید
var q = (from x in Mybank.TblRequestQuestions join y in Mybank.TblUserProfles on x.MeliCode equals y.MeliCode where x.ReplyDate>=TxtDate1.Text&& x.ReplyDate<=TxtDate2.Text select new { x.RequestQuestionID, x.Name, x.AdminReply, x.Question, x.QuestionDate, x.ReplyDate, y.LName }).ToList();
کدی که گفتین رو تست کردم منتها پیغام خطایی رو میبینم.
متن خطا را قرار دهید
دو طرف >= و یا >= نمیتونه از نوع string باشد
مگه تو بانک از نوع nvarchar نیستند ؟
بله هستن.
انکار تموم مشکل با "<" و با ">" است که نمیشناستشون
با T-sql بنویسید ببینید مشکل حل میشه
db.Table.SqlAuery
بنظر من مشکل رو از ریشه حل کن ممکنه باز جاهای دیگه به مشکل بر بخوری
دیتابیس رو datetime بزار و میلادی ذخیره کن بعد برای سایتت به شمسی تبدیل کن
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)