日期:2014-05-18  浏览次数:20386 次

我想做个分页功能,但如何简单快速地知道文章总数呢?
我想做个分页功能,
每页显示20个文章(只显示题目)
我没分页时用myDataReader.Read()一个个添加到页面,
现在要分页了,如何简单快速地知道文章总数呢?
难道要遍历myDataReader才能知道文章总数吗?
这样是不是效率不好呢?


------解决方案--------------------
把reader关掉,有一个effectrecords就可以知道了
------解决方案--------------------
select count(*) from 表名
查询所有的条数
------解决方案--------------------
写个存储过程,直接赋值到页面上
------解决方案--------------------
public int searchcount(string key,string tablestr,string item)
//参数key是判断条件,tablestr是表名,item是要判断的字段名。返回总数。
{
key = key.Replace( " ' ", " ");//防范sql语法错误。

int a;
a = 0;
SqlDataAdapter myAdapter = new SqlDataAdapter( "select "+item+ " from "+tablestr+ " where "+item+ "= ' " + key + " ' ", conn);
DataSet myDataSet = new DataSet();
myAdapter.Fill(myDataSet, "titles ");

a = myDataSet.Tables[0].Rows.Count;
return a;

}
------解决方案--------------------
select count(*) from ..... where .....
------解决方案--------------------
datareader.tables[0].rows.count
------解决方案--------------------
select count(*) from 表名

或者是DataSet中的 Rows.Count
------解决方案--------------------
总记录数对20取除如果大于1 总页数=总记录数/20 + 1; 否则 总页数=总记录数/20