java sqlite 访问_Java访问sqlite数据库

另外,java对sqlite执行了 insert,update,delete动作后,想要关闭连接,却老是提示:SQLite error: Unable to close due to unfinalised statements 求解答。

网上别人都说要先调用 sqlite3_finalize,但不知道怎么弄!!

我的方案:

解压得到 sqlitejdbc.dll 和 sqlitejdbc.jar

先将.jar文件引用到项目中,方案:在Eclipse左侧的项目如 test1上右键-->Properties --> Java Build Path --> Add External Jars --> 选中刚才的.jar文件--> OK

然后在代码中执行

System.out.println("javaLibrary到底是什么?"+System.getProperties().get("java.library.path").toString());

这会输出所有相关的目录,把 sqlitejdbc.dll 复制到任何一个目录中即可 ,否则会报错:no sqlitejdbc in java.library.path

把sqlite数据库文件(.db) 复制到test1项目的目录下:如果数据库文件位置放置不正确,在执行相关sql语句时会提示找不到**的表

SqliteHelper.java

import java.sql.*;

public class SqliteHelper {

Connection _CONN;

// 取得连接

private boolean GetConn() {

if (_CONN != null)

return true;

try {

String sDriverName = "org.sqlite.JDBC";

String sDBUrl = "jdbc:sqlite:PersonalAddressBook.db";

System.getProperties().get("java.library.path");

Class.forName(sDriverName);

_CONN = DriverManager.getConnection(sDBUrl);

} catch (Exception ex) {

// ex.printStackTrace();

System.out.println(ex.getMessage());

return false;

}

return true;

}

// 关闭连接

private void CloseConn() {

try {

_CONN.close();

_CONN = null;

} catch (Exception ex) {

System.out.println(ex.getMessage());

_CONN = null;

}

}

// 测试连接

public boolean TestConn() {

if (!GetConn())

return false;

CloseConn();

return true;

}

}

testSqlite.java

public class testSqlite {

public static void main(String[] args) {

//System.out.println("javaLibrary到底是什么?"+System.getProperties().get("java.library.path").toString());

SqliteHelper help=new SqliteHelper();

if(help.TestConn())

System.out.println("连接成功");

else

System.out.println("连接失败");

}

}

如果都是OK的,则执行结果为:连接成功!

2,完整的java调用sqlite数据库的例子

SQLite error: Unable to close due to unfinalised statements

执行insert,update,delete之后关闭连接时会出错,等待解决!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值