SQL错误或缺少数据库(靠近“。”:语法错误)
public ArrayList<String> SelectCOMMUNE(String nom_wilaya,String nom_daira)
{
ArrayList<String> commune = new ArrayList<>();
try {
String value;
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:C:/Users/Khaled/Documents/NetBeansProjects/PFE/dataBase.db");
c.setAutoCommit(false);
stmt = c.createStatement();
try (ResultSet rs = stmt.executeQuery("SELECT NOM_COMMUNE FROM COMMUNE NATURAL JOIN DAIRA"
+ "NATURAL JOIN WILAYA"
+ "WHERE DAIRA.NOM_DAIRA= \""+nom_daira+"\" AND WILAYA.NOM_WILAYA=\""+nom_wilaya+"\";")) {
while (rs.next()) {
value = rs.getString("NOM_COMMUNE");
System.out.println(rs.getString("NOM_COMMUNE"));
commune.add(value);
}
}
stmt.close();
c.close();
} catch (ClassNotFoundException | SQLException e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
return commune;
}
答案 0 :(得分:0)
将字符串分成单独的行时,您缺少空格。养成在连接的字符串片段前面添加空格的习惯。
ResultSet rs = stmt.executeQuery("SELECT NOM_COMMUNE FROM COMMUNE NATURAL JOIN DAIRA"
+ " NATURAL JOIN WILAYA"
+ " WHERE DAIRA.NOM_DAIRA= \""+nom_daira+"\" AND WILAYA.NOM_WILAYA=\""+nom_wilaya+"\";"))
与您的问题无关,但仍然很重要 - 查看准备好的语句,以避免代码中出现一些令人讨厌的SQL注入漏洞。