java access 插入,如何使用UCanAccess从Java向Access数据库插入两个字符串?

I am trying to add two strings on two separate columns columns of my database using Java but I'm not sure what I am doing wrong. The code I am using

try{

Connection conn = DriverManager.getConnection(

"jdbc:ucanaccess://C:/Users/nevik/Desktop/databaseJava/Employee.accdb");

Statement st = conn.createStatement();

String sql = "Select * from Table2";

ResultSet rs = st.executeQuery(sql);

rs.updateString("user", user);

rs.updateString("pass", pass);

rs.updateRow();

}

catch(SQLException ex){

System.err.println("Error: "+ ex);

}

The first column on my database is user and the next one is pass. I am using UCanAccess in order to access my database.

解决方案

@guevarak12

About the original question (how to use updatable ResultSet):

your code is wrong, you have to move the cursor in the right position.

In particular, if you are inserting a new row you have to call rs.moveToInsertRow(); before rs.updateString("user", user).

If you are updating an existent row, you have to move the cursor calling rs.next() and so reach the row to update.

Also you have to create the Statement in a different way:

Statement st =conn.createStatement( ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);

See junit examples in the UCanAccess source distribution, class net.ucanaccess.test.CrudTest.

All other comments seem to be correct.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值