max*_*mus 1 java sql eclipse hsqldb
我有一个名为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);
}
Run Code Online (Sandbox Code Playgroud)
它总是给我一个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)
Run Code Online (Sandbox Code Playgroud)
为什么?我谴责你的答案!
更新:
为什么PS使用不当?请告诉我,以便我可以从中学到什么?
您生成的SQL语句无效,name参数周围没有引号
String query = "SELECT * FROM Produkt WHERE name='" + name + "'";
^-- ^^^^^^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |