继续昨天关于ResultSet的问题,大家帮忙看看

airjam 2004-05-11 11:58:46
我想知道的是如何才能让一个ResultSet不是只读的

但是按照文档里面的做法却得到相反的结果


引用的OracleJDBC驱动是JDBC2.0(class12.zip)


下面是一段简单的代码,数据库连接没有问题

import java.sql.*;
import szicbc.connection.client.*;
/**
* @author airjam
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class TestResultSet {
private static String DBAccessStr = "statist@cm2000kf"; //参数表数据库连接串
private static String ProjectID = "200402007"; //项目ID

public static void main(String[] args) {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
String strSQL = "select * from SBJ_BALANCE_HISTORY";
try {
conn = new ICBCDB(DBAccessStr, ProjectID);
st =
conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = st.executeQuery(strSQL);
System.out.println(rs.CONCUR_READ_ONLY);
System.out.println(rs.CONCUR_UPDATABLE);
System.out.println("rs" + rs.getConcurrency());
} catch (Exception e) {
System.out.println(e.toString());
}
}
}



运行的结果如下:
1007
1008
rs1007
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
show90 2004-05-11
  • 打赏
  • 举报
回复
rs.CONCUR_READ_ONLY
rs.CONCUR_UPDATABLE
这两个是常量
casemy 2004-05-11
  • 打赏
  • 举报
回复
jdbc的版本问题吧!
KevinListening 2004-05-11
  • 打赏
  • 举报
回复
别用ResultSet对数据库进行写操作,这里面可能会有问题。
为什么一定要她不是只读的呢。还是直接用Sql语句的Insert/Update 来的方便。
Arias 2004-05-11
  • 打赏
  • 举报
回复
rs的使用还处于基本的阶段,看看!
airjam 2004-05-11
  • 打赏
  • 举报
回复
上面两位没有明白我的意思,我只是想说明ResultSet只读时会输出rs1007

当他可读写的时候会输出rs1008

但是我在CreateStatement的时候制定了他为updatable了,但是为什么最后的

System.out.println("rs" + rs.getConcurrency());会是rs1007呢??只读呢??
zhang21cnboy 2004-05-11
  • 打赏
  • 举报
回复
楼上说得很对阿,那是常量
nake 2004-05-11
  • 打赏
  • 举报
回复
不管你何时
System.out.println(rs.CONCUR_READ_ONLY);
System.out.println(rs.CONCUR_UPDATABLE);
他都是1007,1008

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧