PDA

View Full Version : سوال: جست و جوی بین دو تاریخ در sql



melika999
دوشنبه 10 بهمن 1390, 19:21 عصر
سلام دوستاد میدونم سوالم تکراریه ولی واقعا به مشکل برخوردم ممنون میشم اگه کمکم کنین
من داده ها رو بر اساس تاریخ ثبتشون تو دیتابیس به صورت میلادی ثبت میکنم و زمان جست و جو داده های ثبت شده در تاریخ مشخص از این کد استفاده میکنم:

SELECT dbo.tbTemp.Namet AS Expr1, dbo.tbTemp.Date, dbo.tbObject.Name, dbo.tbObject.BarCode, dbo.tbObject.PRice, dbo.tbTemp.Count FROM dbo.tbObject INNER JOIN dbo.tbTemp ON dbo.tbObject.ID = dbo.tbTemp.ObjectID where (dbo.tbTemp.Date >= CONVERT(DATETIME, '" + Date1 + "' , 102)) and (dbo.tbTemp.Date <= CONVERT(DATETIME, '" + Dt2 + "', 102))";
و رو سیستم خودم جواب میده اما زمانی که سیستم عوض بشه این جست و جو انجام نمیشه
به نظر شما مشکل کحاست؟آیا روش دیگه ای واسه جست و جو بین دو تاریخ هست؟

gilas1368
دوشنبه 10 بهمن 1390, 19:43 عصر
فکر کنم این کمکتون کنه

http://barnamenevis.org/showthread.php?324650-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%28%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE%29

melika999
دوشنبه 10 بهمن 1390, 20:52 عصر
ممنون ولی خودم جوابشو پیدا کردم شاید به دردتون خورد:


public static DataTable SelectTemp(DateTime Date1, DateTime Dt2)
{

SqlCommand Com = new SqlCommand();
Com.Connection = Con;
OpenCon();
Com.CommandText = "SELECT name from tb temp where (dbo.tbTemp.date >= '" + Date1.ToShortDateString () + "' ) AND (dbo.tbTemp.date <= '" + Dt2.ToShortDateString () + "' )";
SqlDataAdapter Ad = new SqlDataAdapter(Com);
DataSet ds = new DataSet();
Ad.Fill(ds, "Tb");
CloseCon();
return ds.Tables[0];


}

alasht
دوشنبه 10 بهمن 1390, 22:20 عصر
از دستور between استفاده کن
http://www.w3schools.com/sql/sql_between.asp

maktoom
سه شنبه 11 بهمن 1390, 00:16 صبح
سلام
یادمه چند وقت پیش یه دوست دیگه همین مشکل رو داشت اونجا این مشکل رو هم داشت که با between نمی تونست جواب بگیره یکی از دوستان این پیشنهاد رو داد که از (<>) استفاده کنه و مشکلش حل شد.