StringBuilder StrSql = new StringBuilder();
 StrSql.AppendFormat("SELECT distinct TOP {0}  * FROM C_Work_Object WHERE  ", Record_Per_Page.ToString());
 StrSql.AppendFormat("( Obj_id NOT IN (SELECT TOP {0} Obj_id  FROM C_Work_Object", (Record_Per_Page * (nPage - 1)).ToString());
 StrSql.Append(" ORDER BY Obj_id DESC)");
 datatable pdperson = pd.GetObjectBySql(StrSql.ToString() + strSql.ToString()); nRecCount=pdperson.Rows.Count;
注:Record_Per_Page=25;这样我取得的nRecCount就是Record_Per_Page数,但数据哭里的数据并不止这些,我想获得全部数据记录数,怎么做啊??

解决方案 »

  1.   

    不行的,我的是每个页面放25条记录的,我的sql语句是获得记录数据的,但我想根据记录的数据查询获得总的数据数,那样就不用再写sql语句了,有没有什么方法啊???
      

  2.   

    另外写个查询吧,下同样的条件
    select count(ClusteredIndexColumn) from C_Work_Object WHERE  ...
      

  3.   

    好象只能再写一个sql语句了???
      

  4.   

    StringBuilder StrSql = new StringBuilder(); 
    StrSql.AppendFormat("SELECT distinct TOP {0}  * FROM C_Work_Object WHERE  ", Record_Per_Page.ToString()); 
    StrSql.AppendFormat("( Obj_id NOT IN (SELECT TOP {0} Obj_id  FROM C_Work_Object", (Record_Per_Page * (nPage - 1)).ToString()); 
    StrSql.Append(" ORDER BY Obj_id DESC)"); 
    datatable pdperson = pd.GetObjectBySql(StrSql.ToString() + strSql.ToString()); nRecCount=pdperson.Rows.Count; 我在页面显示出这些数据时.
     <% for (int i = 0; i < Record_Per_Page; i++)
                       { %>
                    <tr>
                        <td><%=pdperson.Rows[i]["Obj_ono"].ToString() %></td>
                    </tr>
                        <%
                        } %>多余的记录数会显示不出来,怎么修改啊??
      

  5.   

    SELECT distinct TOP {0}  * 
    FROM C_Work_Object 
    inner join (select count(*) as iCount from C_Work_Object) as taba on 1=1
    WHERE  ...-- iCount 就是总记录数
      

  6.   

    去掉 TOP {0}:
    SELECT distinct * FROM C_Work_Object WHERE