В повседневной разработке часто используются запросы, основанные на определенном периоде времени, например, выбор даты начала и даты окончания (формат гггг-ММ-дд), но формат этого столбца в таблице базы данных — (гггг-ММ-). дд ЧЧ:ММ:СС), поэтому вам необходимо использовать следующее преобразование
sbSql.Append(string.Format(" AND Convert(Char(10),RegisterDate,120)<='{0}'", endRegisterDate) ) 1public
DataTable GetOvertureDocInfoList (строка boName, int isSend, строка startRegisterDate, строка endRegisterDate)
2 {
3 попробовать
4 {
5 string strSql = "SELECT * FROM GovInfo_OvertureDocument WHERE '1'='1' ";
6 StringBuilder sbSql = новый StringBuilder(strSql);
7
8, если (isSend > -1)
9 {
10 sbSql.Append(string.Format(" AND IsSend={0}",isSend));
11 }
12
13 if (startRegisterDate != "")
14 {
15 sbSql.Append(string.Format(" AND Convert(Char(10),RegisterDate,120)>='{0}'", startRegisterDate));
16}
17 if (endRegisterDate != "")
18 {
19 sbSql.Append(string.Format(" AND Convert(Char(10),RegisterDate,120)<='{0}'", endRegisterDate));
20}
двадцать один
22 //если (статус != "")
двадцать три //{
24 // sbSql.Append(string.Format("AND Status={0}", status));
25//}
26
27 sbSql.Append(" ORDER BY Registerdate DESC");
28
29 SqlDBAccess dbaccess = новый SqlDBAccess();
30 DataSet ds = новый DataSet();
31 ds = dbaccess.ExecuteDataset(boName, CommandType.Text, sbSql.ToString());
32 DataTable dt = ds.Tables[0];
33
34 возврат ДТ;
35}
36 уловов (исключение e)
37 {
38 LogUtil.Log.Error(это, е);
39 бросок е;
40}
41 }