Java 用SQL表中的值填充ArrayList
我正在进行一个项目,其中我有一个SQL表,其中只有一列包含假日名称字符串。我正在尝试使用一个准备好的语句将该列中的所有假日名称放入arraylist,我必须使用一个准备好的语句。然而,我只是对自己做错的事情感到茫然。谢谢请随时要求澄清。仅供参考,数据库url正确,我希望访问的列名为holidaysJava 用SQL表中的值填充ArrayList,java,sql,netbeans,arraylist,prepared-statement,Java,Sql,Netbeans,Arraylist,Prepared Statement,我正在进行一个项目,其中我有一个SQL表,其中只有一列包含假日名称字符串。我正在尝试使用一个准备好的语句将该列中的所有假日名称放入arraylist,我必须使用一个准备好的语句。然而,我只是对自己做错的事情感到茫然。谢谢请随时要求澄清。仅供参考,数据库url正确,我希望访问的列名为holidays public class Holidays { private ArrayList<String> holidays; final String DATABASE_URL = "jdbc
public class Holidays
{
private ArrayList<String> holidays;
final String DATABASE_URL = "jdbc:derby://localhost:1527/MovieAgent";
final String SELECT_QUERY = "SELECT HOLIDAYS FROM HOLIDAY";
final String USERNAME = "james";
final String PASSWORD = "am";
private Connection connection;
private Statement statement;
private PreparedStatement selectHolidays;
private PreparedStatement insertHoliday;
private int rowCount;
public Holidays()
{
String holidayName;
holidays = new ArrayList<>();
try{
connection = DriverManager.getConnection(DATABASE_URL, "al", "al");
statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
selectHolidays = connection.prepareStatement(SELECT_QUERY);
ResultSet resultSet;
resultSet = selectHolidays.executeQuery();
while(resultSet.next())
{
holidayName = resultSet.getString(1);
holidays.add(holidayName);
}
}catch(SQLException sqlException)
{
sqlException.printStackTrace();
System.exit(1);
}
}
编辑:对不起,我漏掉了,它根本不起作用。这些值只是没有出现在arraylist中。arraylist假日似乎为空。请尝试更改
final String SELECT_QUERY = "SELECT HOLIDAYS FROM HOLIDAY";
到
因为表格只有一列。生成列表,所以设置一个起始值,然后查看是否至少在列表中。 如果是这样的话,那么查询或准备有问题
public Holidays()
{
String holidayName;
ArrayList<String> holidays = new ArrayList<String>();
holidays.add("-- start --");
try{
[...]
while(resultSet.next())
{
}
System.out.println("Holidays names are : "+holidays);
[...]
有什么问题吗?什么不起作用?很抱歉,忘了包括那个。arraylist只是显示为空。我没有收到任何错误,但在某个过程中,我遇到了一些错误,阻止了arraylist获取值。您在哪里尝试过超出数组列表?这没有包括在内,但这肯定会起作用,因为我的教授给了我们这部分代码。@user2921180:您看到我的答案了吗?假期开始吗?你能在Netbeans中看到数据吗看看连接字符串!
public Holidays()
{
String holidayName;
ArrayList<String> holidays = new ArrayList<String>();
holidays.add("-- start --");
try{
[...]
while(resultSet.next())
{
}
System.out.println("Holidays names are : "+holidays);
[...]