Java8用ucanaccess无法在Access中添加纪录

Java8用ucanaccess无法在Access中添加纪录,第1张

Java8用ucanaccess无法在Access中添加记录的原因是连接驱动异常导致,正确的连接方法如下:

1、建立连接:

Connection conn = DriverManager.getConnection("jdbc:ucanaccess://c:/data/pippo.mdbmemory=false")

2、定义插入sql:

String sql = "insert into users(id,name,age,sex)values(?,?,?,?)"

3、创建statement对象:

dbConnection.prepareStatement(sql)

4、执行sql:

statement.executeUpdate(sql)

完整例子如下:

try

{

String url = "jdbc:ucanaccess://C://Users//mahlatse dau//Documents//School//2014//PRJ//Database5.accdb"

Connection dbConnection = DriverManager.getConnection("jdbc:ucanaccess://c:/data/pippo.mdbmemory=false")

String sql = "insert into users(id,name,age,sex)values(?,?,?,?)"

statement = dbConnection.prepareStatement(sql)

statement.executeUpdate(sql)

statement.execute(sql)

System.out.println("Record inserted into User table for user: "+ user.getUserName())

}catch(SQLException e){

e.printStackTrace()

}finally{

if (statement !=null)

{

try

{

statement.close()

}

catch (SQLException e)

{

e.printStackTrace()

}

}

if (dbConnection != null)

{

try

{

dbConnection.close()

}

catch (SQLException e)

{

e.printStackTrace()

}

}

}

}

用ucanaccess才可以的,连接方式参考如下:

public Connection getConn(){//UcanAccess

final String url = "jdbc:ucanaccess://D:/access/sales.accdb"

try

{

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver")

conn = DriverManager.getConnection(url,"","")

}catch(Exception e){

e.printStackTrace()

}

return conn

}

代码如下:

import java.sql.Connection

import java.sql.Date

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

public class App {

public static void main(String[] args) throws ClassNotFoundException, SQLException {

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver")

// mdb 数据库路径

String mdbPath = "./data/db.mdb"

Connection conn = DriverManager.getConnection("jdbc:ucanaccess://" + mdbPath)

Statement stmt = conn.createStatement()

ResultSet rs = stmt.executeQuery("SELECT Id, Name, Birthday FROM tb_employee")

while (rs.next()) {

long id = rs.getLong("Id")

String name = rs.getString("Name")

Date birthday = rs.getDate("Birthday")

System.out.println(id + "\t" + name + "\t" + birthday)

}

rs.close()

stmt.close()

conn.close()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7981768.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存