在 Java 中获取 SQL ResultSet 的大小
在 Java 中查找 SQL ResultSet
的大小可能很棘手,因为 SQL 不提供诸如 length()
或 size()
之类的任何方法;它只提供了滚动数据库的方法,这也是基于数据库类型的。
本教程演示了一种使用任何数据库查找 SQL ResultSet
大小的通用方法。
在 Java 中查找 SQL ResultSet
的大小
首先,确定要查找 ResultSet
大小的数据库表并确定你的查询。我们创建了一个示例数据库,我们将通过选择查询中的所有项目来获得 ResultSet
的大小。
我们创建的数据库如下。
现在让我们尝试使用 Java 获取 ResultSet
的大小。我们使用 SqlLite
数据库,但该程序将适用于其他数据库,如 Oracle
和 MySQL
并正确建立连接。
请参阅 Java 示例:
package Delfstack;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
class Get_Result_Set{
public static void main(String[] args) {
Connection db_con = null;
PreparedStatement db_Statement = null;
ResultSet result_set = null;
try {
String db_path = "jdbc:sqlite:path-to-db/sample.db";
db_con = DriverManager.getConnection(db_path);
System.out.println("The Data Based Connection is established.");
db_Statement = db_con.prepareStatement("select * from Products", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
result_set = db_Statement.executeQuery();
int Row_Count = 0;
System.out.println("Display all the records in ResultSet object");
System.out.println("Product_Id\tProduct_Name");
while (result_set.next()) {
System.out.println(result_set.getString("Product_Id")+"\t\t"+result_set.getString("Product_Name"));
// Row count will get the length of result set
Row_Count++;
}
System.out.println("Total number of rows in ResultSet object = "+Row_Count);
}
catch (SQLException e) {
throw new Error("Problem", e);
}
finally {
try {
if (db_con != null) {
db_con.close();
}
}
catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}
}
上面的代码计算了行的迭代次数,这将得到 ResultSet
的大小。查看程序的输出:
The Data Based Connection is established.
Display all the records in ResultSet object
Product_Id Product_Name
1 Delfstack1
2 Delftstack2
3 Delftstack3
4 Delftstack4
5 Delftstack5
6 Delftstack6
7 Delftstack7
8 Delftstack8
9 Delftstack9
10 Delftstack10
The Size of the ResultSet object according to rows = 10
查询 select * from Products
的 ResultSet
的大小为 10。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。