我正在使用 ucanaccess 来管理Java中的SQL数据库。 我已使用问题的答案-setting up ucanaccess
完成了初始设置设置后,我可以成功 创建表,插入表 ,但是,我无法列出现有表。
我正在附上我正在使用的代码-
public class Driver {
public static void main(String[] args) {
try {
Connection myconnection = DriverManager.getConnection("jdbc:ucanaccess:///usr/local/var/mysql/library/database.accdb");
Statement stmt = myconnection.createStatement();
stmt.executeQuery("create table books ( BarCode VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, author VARCHAR(255), PRIMARY kEY (BarCode) );");
stmt.executeQuery("Insert INTO books VALUES(\"123\", \"Monk\", \"Robin\")");
ResultSet res = myconnection.getMetaData().getTables(null, null, "books", new String[] {"TABLE"});
while (res.next()) {
System.out.println(
" "+res.getString("TABLE_CAT")
+ ", "+res.getString("TABLE_SCHEM")
+ ", "+res.getString("TABLE_NAME")
+ ", "+res.getString("TABLE_TYPE")
+ ", "+res.getString("REMARKS"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
列出所有表名的部分从答案中使用-List all the tables
感谢您的帮助。
编辑::我试图检查数据库中是否存在“书” ,因此我在中给出了“书” 搜索中的 tableNamePattern 字段。在@Andreas指出之后,我对其进行了修改。