gpt4 book ai didi

java - INSERT 操作在使用 Java 的 SQLITE 中不起作用

转载 作者:行者123 更新时间:2023-11-29 21:14:02 26 4
gpt4 key购买 nike

我在使用 SQLITE 和 Java 时遇到了问题。我浏览了这里的一些答案,建议程序员使用异常。我确实使用了它,但我的代码仍然给我这个错误

java.sql.SQLException: no such table: australia

并且创建的数据库中的记录未更新:

Class.forName("org.sqlite.JDBC");
Connection connect = DriverManager.getConnection("jdbc:sqlite:playlist.sqlite");
System.out.println("Playlist db opened");
Statement saveStatement = connect.createStatement();
saveStatement.executeUpdate(makeTable);

try {
ResultSet getAllSameGenre = artStmt.executeQuery("SELECT * FROM tracklist WHERE genre = '" + storeGenre + "' ORDER BY RANDOM() LIMIT 10");

while(getAllSameGenre.next()){
int id = 1;
String title = getAllSameGenre.getString("title");
String artist = getAllSameGenre.getString("artist");
String genre = getAllSameGenre.getString("genre");
String album = getAllSameGenre.getString("album");

Statement finalRecord = connect.createStatement();
String storeTableName = playlistNameInsert.getText();
String record = "INSERT INTO " + storeTableName + " (id , title, artist , genre , album )" + "VALUES ( '" +id+title+artist+genre+album+ " ' ); " ;
finalRecord.executeUpdate(record);

id ++;
}
saveStatement.close();
connect.close();
}
catch(Exception e){
System.out.println(e);
}

最佳答案

playlistNameInsert.getText() 的值为 Australia,而您没有具有此类名称的。您需要确保仅选择自插入删除更新 您正在使用的数据库中存在的表。另外,您需要用逗号分隔值,因此这部分看起来也很可疑:

+id+title+artist+genre+album+

更不用说如果一个值是文本值,那么您需要在它周围加上撇号。看来你对 SQL 语法不太熟悉,所以我认为你应该看一些教程,然后再回到这个问题。

关于java - INSERT 操作在使用 Java 的 SQLITE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36115333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com