当前位置:  技术问答>java相关

怎样用ResultSet更改或增加一条记录

    来源: 互联网  发布时间:2015-07-22

    本文导语:  我有一段程序: try{     res=state.executeQuery("select * from zhuceinf");     res.moveToInsertRow();    // res.last();   }     catch(Exception mov){System.out.println(mov.getMessage()+"movetoInsertRow faile");}     try{     res.updateString("user...

我有一段程序:
try{
    res=state.executeQuery("select * from zhuceinf");
    res.moveToInsertRow();
   // res.last();
  }

    catch(Exception mov){System.out.println(mov.getMessage()+"movetoInsertRow faile");}
    try{
    res.updateString("username",username);
    res.updateString("psw",psw);}
    catch(Exception up){System.out.println(up.getMessage()+"UpdateString faile");}
    try{
    res.insertRow();
  }
    catch(Exception e){System.out.println(e.getMessage()+"InsertRow faile");}

  为什么没有实现增加一条记录?state是有效的对象。

|
要有能增加记录,必须有是可更新的ResultSet;
在你的代码前加下面一句:
Statement state=connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)
在加下面一句
res.moveToInsertRow( );
 res.updateString("username",username);
  res.updateString("psw",psw);

|
为什么不直接写 insert 语句 
然后 ExcuteUpdte(sql);

|
如果这样写的话,这种功能只有在使用兼容的jdbc2.0的驱动程序和可更新的结果集的时候才可用。检查一下你的驱动的版本把。

|
我去试了一下,保如下的错误:

   Statement st = this.connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,                                             ResultSet.CONCUR_UPDATABLE);
     

java.lang.ArrayIndexOutOfBoundsException
at sun.jdbc.odbc.JdbcOdbcResultSet.bindCol(JdbcOdbcResultSet.java:4506)

at sun.jdbc.odbc.JdbcOdbcResultSet.insertRow(JdbcOdbcResultSet.java:3962)

at weis.TestDBManager.main(TestDBManager.java:51)

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql接口resultset的类成员方法: isclosed定义及介绍
  • ResultSet 中有COUNT 方法吗?我想取出RESULTSET 中结果集的数目?
  • java命名空间java.sql接口resultset的类成员方法: gettype定义及介绍
  • 当ResultSet执行SQL成功后,我如何取得ResultSet的记录部条数
  • java命名空间java.sql接口resultset的类成员方法: getholdability定义及介绍
  • 我想问的是,返回的 ResultSet 中的某个字段(int 型),如何放到一个 int[]数组里去。因为 ResultSet 不知道怎样取 size,我又不想用 vector, ResultSet的getArray()方法也是莫名其妙。
  • java命名空间java.sql接口resultset的类成员方法: getconcurrency定义及介绍
  • 请比较"直接使用ResultSet"和"将ResultSet结果保存到ArrayList"的好坏.
  • java命名空间java.sql接口resultset的类成员方法: getmetadata定义及介绍
  • 关于ResultSet方法,ResultSet rs;怎么让rs向下移n格?
  • java命名空间java.sql接口resultset的类成员方法: close定义及介绍
  • ResultSet rs = stmt.executeQuery(sql),如果该sql的结果是没有符合的记录,那么rs此时是什么东东?是null吗?如果不是,如何判断是空resultset?
  • java命名空间java.sql接口resultset的类成员方法: clearwarnings定义及介绍
  • 求教高手,JDBC驱动问题:Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);一直报
  • java命名空间java.sql接口resultset的类成员方法: findcolumn定义及介绍
  • “用尽的 Resultset”是什么意思
  • java命名空间java.sql接口resultset的类成员方法: setfetchdirection定义及介绍
  • 怎样使用Resultset中的previous()方法??
  • java命名空间java.sql接口resultset的类成员方法: getfetchdirection定义及介绍
  • ResultSet问题
  • java命名空间java.sql接口resultset的类成员方法: getfetchsize定义及介绍
  • 如何设定ResultSet对象可上下fetch?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3