Java 在Android上使用StelsMDB从MS Access数据库获取数据
我正在尝试使用访问MS_access数据库。该文件位于手机的SD卡上。我加载了所有库,创建了连接:Java 在Android上使用StelsMDB从MS Access数据库获取数据,java,android,database,ms-access,Java,Android,Database,Ms Access,我正在尝试使用访问MS_access数据库。该文件位于手机的SD卡上。我加载了所有库,创建了连接: public class DBConnection { private static final String TAG = DBConnection.class.getSimpleName(); private Connection connection; public DBConnection() { try { Class.f
public class DBConnection {
private static final String TAG = DBConnection.class.getSimpleName();
private Connection connection;
public DBConnection() {
try {
Class.forName(jstels.jdbc.mdb.MDBDriver2.class.getName());
connection = DriverManager.getConnection("jdbc:jstels:mdb:sdcard/2012xp.mdb");
} catch (SQLException e) {
Log.e(TAG, "", e);
} catch (ClassNotFoundException e1) {
Log.e(TAG, "", e1);
}
}
public Connection getConnection() {
return this.connection;
}
}
它似乎起作用了;但当我尝试查询某个内容时,会出现以下异常:
分析查询失败
java.lang.IllegalStateException:未知查询对象标志3
在网上我找不到任何提示。我得到了一个复杂查询的异常,所以我想写一个更简单的,比如
“从表名称中选择*”
…但我得到了同样的例外。我相信您的连接字符串中有错误。您需要用它的属性创建连接对象 尝试用以下内容替换您的连接:
Connection conn = DriverManager.getConnection("jdbc:jstels:mdb:sdcard/2012xp.mdb");
经过长时间的尝试,我发现jStels与android不兼容……一点注释也不错。注释已经添加。请告诉我我的代码与您的代码之间的差异。但是,正如我所写的,连接似乎可以工作,但是查询失败。我只能猜测您正在创建连接的try catch之外使用station查询。如果是这样,请在try中尝试一个简单的查询。。。抓住你有联系的地方。您可以在try catch中声明一个station,并将查询传递给station,然后执行它。希望这有帮助,如果没有,请让我知道,这样我可以在这里键入一个代码示例