我有一张名为 Produkt 的表,在这张表中有几个名为 test 的产品。
当我想做那个代码时:
public Produkt findByName(String name) throws SQLException{
log.error("Enter findByName with parameters: " + name);
PreparedStatement ps;
ResultSet rs = null;
String query = "SELECT * FROM Produkt WHERE name=" + name;
ps=hsqlmanager.getConnection().prepareStatement(query);
rs = ps.executeQuery();
ps.close();
if(rs.next()) return(new Produkt(rs));
else return(null);
}
它总是给我一个sql错误:
Exception in thread "main" java.sql.SQLSyntaxErrorException: user
lacks privilege or object not found: TEST at
org.hsqldb.jdbc.Util.sqlException(Unknown Source) at
org.hsqldb.jdbc.Util.sqlException(Unknown Source) at
org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source) at
org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source) at
dao.DAOProdukt.findByName(DAOProdukt.java:157) at
dao.test_produkt_dao.main(test_produkt_dao.java:23)
为什么?我很欣赏你的回答!!!
更新:
为什么 PS 使用不当?请告诉我,以便我可以从中学习?