PUBLIC DATATABLE SELECTV2 (datetime time1, datetime time2, int czlx, String name, int pageindex, int pagesize, out int pagecount) { stringbuilder sb = new stringbuilder (); stringbuilder sbcount = new stringbuilder (); StringBuilder Sqlstr = new StringBuilder (); sqlstr.append ("Select * "); sbcount.append (" select Count (*) "); sb. Append (" from (Select row_number () over (ORDER BY RECORDTIME DESC) AS ROWID, "); sb. Append ("* "); sb. Append (" from t_systemlog"); if (time1. Date == time2. Date) { time1 = time1. date; }        SB. Append (" where RecordTime between " "+time1+" ' and ' "+time2+ " ' " ); if (CZLX != 4) {           SB. AppendFormat ("and statemtype = {0} ",  CZLX); } if (name != "" && name != null && name.length > 0) {              SB. AppendFormat (" and systemUser like '%{0}% ' ", name); }   //SB. Append (" order by RecordTime desc ");         SB. Append (" ) temptable "); sqlstr.append (sb.) ToString ()); sqlstr.append (" where ROWID between " + ((pageindex * pagesize - pagesize) + 1) + " and " + pageIndex * pageSize + ""); sbcount.append (sb.) ToString ()); dataset ds = dbhelper.query (Sqlstr.tostring ()); if (Ds != null && ds. Tables[0]. rows.count > 0) { pagecount = convert.toint32 ( Dbhelper.getsingle (Sbcount.tostring ())); } else { pageCount = 0; } return Ds. Tables[0];}
SQL statement implementation paging-direct-write paging in Dal