我已经使用过ResultSet
返回一定数量的行。我的代码是这样的:
ResultSet res = getData();
if(!res.next())
{
System.out.println("No Data Found");
}
while(res.next())
{
// code to display the data in the table.
}
有没有什么方法可以检查返回的行数ResultSet
?还是我必须自己写?
您可以使用do ... while
循环而不是while
循环,以便rs.next()
在执行循环后调用该循环,如下所示:
if (!rs.next()) { //if rs.next() returns false
//then there are no rows.
System.out.println("No records found");
}
else {
do {
// Get data from the current row and use it
} while (rs.next());
}
或自己计算行数:
int count = 0;
while (rs.next()) {
++count;
// Get data from the current row and use it
}
if (count == 0) {
System.out.println("No records found");
}
问题内容: 我正在尝试创建一个简单的方法,该方法将ResultSet作为参数接收并返回一个包含ResultSet的行数的int。这是执行此操作的有效方法吗? 我尝试了这个: 但我说错了 在此先感谢您的指点! 问题答案: 如果您有权访问导致该结果集的准备好的语句,则可以使用 这样可以以回退光标的方式准备语句。这也记录在ResultSet Javadoc中 但是,通常,对于大型结果集,前进和后退游标可
问题内容: 是否可以获取从调用范围返回函数的行号? 例: 我认为这是不可能的,因为它应该已经从堆栈中删除了,但是也许它仍然被缓存在某个地方? 用例是我有一个HTTP处理程序,我想记录返回错误的行和文件名,而不必乱扔代码。 问题答案: AFAIK,不可能自动获取执行最后一次返回的行。 但是,有了一个小帮手,您可以拥有: 操场 输出:
问题内容: 数据库具有UTC中的数据,当我尝试获取数据时 这有什么问题吗? 问题答案: 您的DateFormat实例很可能以本地时间显示该值。在显示您的价值时,尝试一下: 编辑:对您的评论: 如果我使用GMT,那在SimpleDateFormat中会是一个问题吗? SimpleDateFormat可以使用常规时区(GMT +/- n),RFC822和文本(如JavaDoc所述,“如果它们具有名称”
问题内容: 我正在尝试从ResultSet获取表的主键列。以下是步骤 我跟着: 这是有趣的部分。 现在,如果我观看此变量“ rsmd ”,它将显示相关列名的主键标志,但我无法访问它或将其放入任何变量。 我需要同样的帮助。 注意:我不想使用DatabaseMetadata及其getPrimaryKeys()函数,因为它将对外部数据库产生额外的影响。另外,ResultSetMetadata对象已经具有
问题内容: 在Java中,如何从返回数组的函数中获取值。 如果我的pl / sql函数返回名为的数组,那么在Java中是否可以使用从中获取值到Java对象中? 谢谢 更新1 我正在调用函数的Java代码,但是却遇到异常。 更新2 和 功能 固定更新3 问题答案: 我没有这样做,但应该可以。首先,您必须注册函数的参数。这样就可以这样。 试试这个男人,然后给我,问是否做。 编辑: 这些字符 ? 表示您
问题内容: 默认情况下,MySQL ResultSets会从服务器上完全检索,然后才能完成任何工作。在巨大的结果集的情况下,这变得不可用。我实际上想从服务器一个接一个地检索行。 在Java中,按照此处的说明(在“ ResultSet”下),我创建如下语句: 这在Java中效果很好。我的问题是:有没有办法在python中做同样的事情? 我尝试做的一件事是将查询一次限制为1000行,如下所示: 但是,