到目前为止,我已经编写了这段代码,它适用于我正在做的事情,但是如果我搜索6月13日它只会查找到6月12日,有人可以帮我查清我的代码中的错误吗?或者我可以在哪里添加一天的间隔?我试过,它只是不适合我。
var db = Database.Open("RMS") ;
var selectCommand = "SELECT * FROM RMS";
var formSSO = "";
var fromDate= "";
var toDate= "";
formSSO = Request.QueryString["formSSO"];
fromDate = Request.QueryString["fromDate"];
toDate = Request.QueryString["toDate"];
selectCommand = "(SELECT * from RMS WHERE SSO LIKE @0)";
if(!Request.QueryString["fromDate"].IsEmpty() ) {
selectCommand = "SELECT * FROM RMS WHERE SSO LIKE @0 AND Created BETWEEN @1 AND @2";
}
if(Request.QueryString["formSSO"].IsEmpty() ) {
<div class="simple"><strong>*SSO ID is Required.</strong></div>
}
var data = db.Query(selectCommand, formSSO, fromDate, toDate);
var columns = new[]{"ID", "SSO", "Category", "System", "Subject", "Created"};
var grid = new WebGrid(data, ajaxUpdateContainerId: "grid", defaultSort: "ID", columnNames: columns);
if (Request.QueryString[grid.SortDirectionFieldName].IsEmpty()) {
grid.SortDirection = SortDirection.Descending;
}
}
答案 0 :(得分:0)
您可以尝试的一件事是使用&lt; =和&gt; =代替BETWEEN,如下所示:
selectCommand = "SELECT * FROM RMS WHERE SSO LIKE @0 AND Created >= @1 AND Created <= @2";
我希望这样做!
如果没有,你也可以强行将日期推迟到将来的一天,然后使用BETWEEN运算符就像你现在这样:
DateTime to_date = Convert.ToDateTime(to_date_string);
to_date = to_date.AddDays(1);
to_date_string = to_date.ToString();