免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4780 | 回复: 10

如何利用ResultSet在数据库中增加一条记录? [复制链接]

论坛徽章:
0
发表于 2005-07-12 15:32 |显示全部楼层
Statement stmt = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("select a, b, c from tst where a = 1";

if(rs.isAfterLast()){
    rs.updateInt("b", 1);
    rs.updateInt("c", 1);

    rs.updateRow();
}else{
    rs.moveToInsertRow();

    rs.updateInt("a", 1);
    rs.updateInt("b", 1);
    rs.updateInt("c", 1);

    rs.insertRow();
}

希望:如果找到指定记录,则修改该记录,否则插入一条新记录到数据库。
可是运行后提示“java.sql.SQLException: 调用中的无效参数: setRowBufferAt

论坛徽章:
0
发表于 2005-07-12 15:43 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

抛出exception的是哪行语句?

论坛徽章:
0
发表于 2005-07-12 15:50 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

[quote]原帖由 "wolfg"]抛出exception的是哪行语句?[/quote 发表:


rs.updateInt("a", 1);

论坛徽章:
0
发表于 2005-07-12 16:00 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

rs是不是没有记录啊

论坛徽章:
0
发表于 2005-07-12 16:31 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

[quote]原帖由 "wolfg"]rs是不是没有记录啊[/quote 发表:


是没有记录,我希望通过这段代码来插入一条记录。
如果我只执行
   rs.moveToInsertRow();

    rs.updateInt("a", 1);
    rs.updateInt("b", 1);
    rs.updateInt("c", 1);

    rs.insertRow();
就可以实现插入一条记录,而加上rs.isAfterLast()判断后,就报上面这个异常了!

论坛徽章:
0
发表于 2005-07-12 16:35 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

http://forum.java.sun.com/thread.jspa?threadID=152955&messageID=442853#442853

论坛徽章:
0
发表于 2005-07-12 17:17 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

[quote]原帖由 "wolfg"]http://forum.java.sun.com/thread.jspa?threadID=152955&messageID=442853#442853[/quote 发表:


有的是相同的问题,没有的是答案。郁闷啊!

论坛徽章:
0
发表于 2005-07-12 17:47 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

这是个bug,你用什么JDBC Driver?看有没有最新版解决了这个问题

论坛徽章:
0
发表于 2005-07-13 02:34 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

不是所有的jdbc驱动都支持这个方法的,我曾尝试通过微软的jdbc driver连接sql server就没成功,后来换了jtds就好了。

论坛徽章:
0
发表于 2005-07-13 19:06 |显示全部楼层

如何利用ResultSet在数据库中增加一条记录?

[quote]原帖由 "perryhg"]不是所有的jdbc驱动都支持这个方法的,我曾尝试通过微软的jdbc driver连接sql server就没成功,后来换了jtds就好了。[/quote 发表:


确实是JDBC的BUG,换了最新的版本就OK了。
谢谢楼上各位!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP