我有一个程序,它的菜单首先有两个选项,其次是创建一个新数据库,打开现有数据库
我的数据库创建部分代码如下
public EmbeddedDerby(String dbName, String userName, String pass) throws SQLException {
String protocol = "jdbc:derby:";
conn = DriverManager.getConnection(protocol + "dist/" + dbName + ""
+ ";create=true;user=" + userName + " " + ";password=" + pass + "");
st = conn.createStatement();
dbmd = conn.getMetaData();
rs = dbmd.getTables(null, "APP", "DBNAME", null);
String sqlTabel = "CREATE TABLE APP.DBNAME"
+ "(NAME VARCHAR(255) not null primary key,"
+ "TEL VARCHAR(10))";
st.execute(sqlTabel);
}
我的数据库打开部分如下
public void openDataBase(String dbName, String userName, String pass) throws SQLException {
String protocol = "jdbc:derby:";
conn = DriverManager.getConnection(protocol + "dist/" + dbName + ""
+ ";user=" + userName + ";password=" + pass + "");
st = conn.createStatement();
}
创建新数据库没有问题,但是当我想打开现有数据库时,它不会检查我是否输入了正确的用户名和密码。此外,只要数据库名称存在,它就接受任何用户名和密码。我以为 getConnection 方法会检查用户名和密码的正确性,但似乎我完全错了。谁能告诉我出了什么问题以及如何解决此问题?