Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中为SQLITE数据库的不同行实例化多个对象?_Java_Database_Sqlite - Fatal编程技术网

如何在Java中为SQLITE数据库的不同行实例化多个对象?

如何在Java中为SQLITE数据库的不同行实例化多个对象?,java,database,sqlite,Java,Database,Sqlite,我想我可以保持这相当简单。我有一个来自JavaFX的GUI,它显示来自sqlite数据库的关于示例租户的信息,但是,我只能让它使用我当前编写的查询数据库的方法,用表顶部的第一个可用信息填充一行。这是因为我需要实例化我当前拥有的租户对象,该对象采用名称、租赁长度、租金支付0/1以及与该租户关联的属性ID 如果我只能访问单行而没有while循环,那么如何用Java语言填充Sqlite数据库中的所有内容 比如说 rs.getString("name"); rs.g

我想我可以保持这相当简单。我有一个来自JavaFX的GUI,它显示来自sqlite数据库的关于示例租户的信息,但是,我只能让它使用我当前编写的查询数据库的方法,用表顶部的第一个可用信息填充一行。这是因为我需要实例化我当前拥有的租户对象,该对象采用名称、租赁长度、租金支付0/1以及与该租户关联的属性ID

如果我只能访问单行而没有while循环,那么如何用Java语言填充Sqlite数据库中的所有内容

比如说


    rs.getString("name");
    rs.getDouble("leaseLength");
    rs.getBoolean("rentPaid");
    rs.getString("PropertyID");

所有这些只返回第一个值,而不在整个过程中进行while循环,但我需要它返回多个值以存储在不同的变量中,这样我就可以从所述变量中的信息实例化多个对象。当我调用QueryTechnts方法时,它设法从第一个租户获取必要的值,但我看不到继续查询以实例化和从尽可能多的租户处获取信息的方法,因为.db文件中有/将有这么多租户

有什么想法吗

以下是显示表的屏幕截图:

这是查询Sqlite数据库并获取租户的所有信息,并使用4个字段实例化我在别处定义的租户对象的结果。但是我只能做一个租户,如果我调用该方法两次,它会用相同的租户填充表,因为它仍然只能从.db文件的列表中获取第一个租户


抱歉,如果这是一个糟糕的问题,或者如果缺少信息。我对这个很陌生,只是在7月份才开始编写代码。提前感谢您。

您多次提到不使用while循环,这就是您的问题所在。为了从ResultSet获得所有结果,需要使用while循环。例如:

列表getTenants引发SQLException{ try Statement=connection.createStatement; ResultSet rs=stat.executeQuerySELECT*来自租户{ 列表租户=新ArrayList; 而rs.next{ 租户=新租户; tenant.setNamers.getStringname; tenant.setLeaseLength.getDoubleleaseLength; tenant.setRentPaidrs.getBooleanRentpayed; tenant.setPropertyIdrs.getStringPropertyID; 租户。添加租户; } 返回租户; } } 一些注意事项:

每次ResultSetnext返回true时,内部光标都会移动到下一行数据。 上面使用了。 如果查询有参数,强烈建议使用一个而不是一个语句。这有助于防止常见问题,其中最重要的是。 也许你可以提出你的问题并发表一篇文章?