以下代码有什么问题,得不到想要的结果
以下代码运行时产生的不正确结果是这样的
第一次运行结果是正确的,第二次点击BUTTON调用时,将两次查询的结果集都显示在dgvE中,而不是只显示最后一次的数据
private DataTable GetStatisticsSourceTable()
{
if (this.dgvE.DataSource != null)
{
((DataTable)this.dgvE.DataSource).Clear();
}
String strSQL = GetStatisticsSqlString();
DataTable datatable = this.GetDataTable(strSQL);
this.dgvE.DataSource = datatable;
return datatable ;
}
private string GetStatisticsSqlString2()
{
///该SQL语句返回查询时段内每个设备全部在线时段记录
string retVal = string.Empty;
string strTemp = "SELECT DISTINCT L.UnitNo '机号', cast (convert(char(10) , L.OnLineTime, 121) AS datetime) '上线日期', cast(CONVERT(char(10), L.OffLineTime, 121) AS datetime) '离线日期', S.ScreenGroupNo '组号'";
strTemp += " FROM LogRegister AS L INNER JOIN ScreenGroupMember AS S ON L.UnitNo = s.ScreenNo ";
strTemp += "WHERE ((L.OnLineTime >= '{0}') AND (L.OnLineTime <='{1}') AND (s.ScreenGroupNo > 2) OR (L.OffLineTime >= '{0}') AND (L.OffLineTime <= '{1}')AND (s.ScreenGroupNo > 2)) ";
retVal = String.Format(strTemp, startTime.ToShortDateString(), endTime.ToShortDateString())+ this.FilterString;
return retVal;
}