我正在Netbeans 7.2.1上構建帶有嵌入式數據庫的Java應用程序。現在,我可以通過下面的代碼建立與Derby數據庫的連接:Netbeans Java應用程序 - 在derby數據庫上執行查詢
Connection con = DriverManager.getConnection(
"jdbc:derby:database;create=true",
uName,
uPass);
但是,我不能對數據庫的表執行查詢。經過一番研究,我試圖執行下面的代碼,但沒有成功:
Statement stmt = con.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT descricao FROM fichas");
while (rs.next()) {
String s = rs.getString("descricao");
System.out.println(s);
}
我在這裏有兩個問題。首先,基於搜索,我應該像上面的例子那樣使用Statement stmt,但netbeans給我一個錯誤。爲了能夠執行該方法跟隨他「stmt.executeQuery()」我必須定義語句:
java.sql.Statement stmt = con.createStatement();
如果我不使用它,這樣我可以不挑法「的executeQuery」 。其次,即使使用這個查詢也不會被執行。我得到的控制檯上的錯誤:
java.sql.SQLSyntaxErrorException:架構「ADMIN_DATABASE」不存在
任何提示我怎麼能解決這個問題?謝謝!
最新更新:
我運行一些測試,在這裏,他們有一些新的結論。如果不是通過netbeans的服務面板創建表,我運行代碼:
stmt.execute("create table test_table (name varchar(128))");
它的工作原理。表被創建,如果我再次嘗試它給出表已存在的預期錯誤。但是,我在服務面板上查看應用程序嵌入式德比數據庫,而此「測試表」不在其中。
此外,如果我執行該表上的選擇,它不會給出架構錯誤,但在其他我在服務面板上手動創建的錯誤中繼續給出錯誤。
那麼,任何人都可以解釋一下是什麼區別?我創建的test_table
在哪裏?這種創建模式與在德比創建表格的區別是什麼?爲什麼我會收到模式錯誤而不是其他錯誤?
對不起,有很多問題,但現在我很困惑。謝謝!
是ADMIN_DATABASE你的數據庫名? – PermGenError
有關您的錯誤的更多信息,請稍後再澄清.. [請參閱此處以瞭解更多信息](http://db.apache.org/derby/integrate/plugin_help/derby_app.html) – gks
不,Admin_Database被推定爲登錄數據庫的用戶名。 – user1511579