当前位置: 技术问答>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是有效的对象。
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);
在你的代码前加下面一句:
Statement state=connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)
在加下面一句
res.moveToInsertRow( );
res.updateString("username",username);
res.updateString("psw",psw);
|
为什么不直接写 insert 语句
然后 ExcuteUpdte(sql);
然后 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)
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.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。