我想在我的程序中使用我的Embedded H2數據庫執行JDBC連接。問題是我無法用「WHERE ID =」執行一個簡單的查詢。在我的數據庫中,ID是字符串不是整數(在我的例子中是'D58BE')。在H2數據庫中選擇* WHERE數據庫
有我的代碼:
public Milestone findbyId(String id) throws ClassNotFoundException, SQLException {
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:~/dao_db", "sa", "");
PreparedStatement prepareStatement = connection.prepareStatement("SELECT * FROM MILESTONE WHERE ID= 'D58BE'");
的問題是相同的查詢(「SELECT * FROM MILESTONE WHERE ID =‘D58BE’」)完全在我的嵌入式數據庫(我驗證與結果h2.jar提供來管理數據庫)。雖然在Eclipse中,我有這樣的例外:
Exception in thread "main" org.h2.jdbc.JdbcSQLException: Column "D58BE" not found [42122-191]
我試過的東西很多,但它仍然沒有工作...
似乎單引號'''被刪除或被雙引號替換''' - 實際上將D50BE轉換爲(不存在的)列名稱。爲什麼這是一件值得探討的事情。而且還有一些不規則的java源代碼轉換。 –