try {
ResultSet resultSet = statement.executeQuery("select count(1) as nRrow from tableName")//使用sql的count函数
resultSet.next()//移动到第一行
int rowCount = resultSet.getInt("rowCount")//获取行数值
} catch (Exception e) {
e.printStackTrace()
}
这种方法不用遍历整个数据集,节省了运算时间,但是,此方法只能用于获取数据表的行数,不能获取表中的具体数据。所以如果只是想知道数据表的行数,此方法非常适合。
2、遍历Resultset,用一个变量累加记录行数,代码如下:
int nRow = 0
try {
ResultSet resultSet = statement.executeQuery("select * from tableName")//使用select语句查询数据表
while(resultSet.next()){//遍历
nRow++
}
} catch (SQLException e1) {
e1.printStackTrace()
}
next 函数将指针移动到下一行;因为该方法在 ResultSet 对象中没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。
这种方法需要遍历整个结果集,在遍历过程中可以获取数据;
但是在遍历完之后,不能再使用结果集了,因为这时候指针已经移动到结果集的外面了,不能返回到结果集的初始处。
好像没有什么可行的办法,如果你想取这个值的话,只能按照你的选择条件先select count(*) from table_name where 条件
**补充***
select count(datediff(day,ClientOrdersStartDate,getdate()))
from [ClientOrders]
where convert(varchar(30),ClientOrdersStartDate,120) LIKE '%2009-03%'
---
以上,希望对你有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)