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

jdbc 访问Oracle数据库中的ResultSet问题

    来源: 互联网  发布时间:2015-06-30

    本文导语:  我建立了和数据库的连接然后运行select语句返回一个ResultSet,我可以用next() 来移动光标,但是如果我用first(),last(),就会报错说:"java.sql.SQLException: 对只转发结果集的无效操作" 我的代码          private Connection con;//...

我建立了和数据库的连接然后运行select语句返回一个ResultSet,我可以用next()
来移动光标,但是如果我用first(),last(),就会报错说:"java.sql.SQLException: 对只转发结果集的无效操作"
我的代码
         private Connection con;//数据库连接
         private DatabaseMetaData ds;//数据库
private java.sql.ResultSet rs;//记录集
private ResultSetMetaData rsmd;//表记录集
private Statement st; //数据库综述对象
private PreparedStatement ps;//记录集状态
private CallableStatement cs;//存储过程

String url= "jdbc:oracle:thin:@202.49.96.2:1521:tmd";//url地址
String user = "leon"; //userName
String pass = "seawolf";
try
{
//Class.forName("com.sssw.jdbc.oracle8.Driver"); //数据库jdb驱动
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //数据库jdb驱动
con = DriverManager.getConnection(url,user,pass); //创建连接
ds= con.getMetaData();//建立数据库对象
st= con.createStatement();
con.setAutoCommit(false);
//System.out.println(url);
if (con==null){
System.out.println("Could not establish connection.");
}
else{
System.out.println("Connection successfully established.");
}

}catch(Exception e)
{
System.out.println(e+"ht.pub.jdb.dbConnect Object::dbConnect");
System.out.println("Could not establish connection.");
}
int rc = 0;
try
{

rs = st.executeQuery(sql);
rs.next();// ok
                            rs.first();// error
                            rs.last();//error

}catch(Exception e)
{
System.out.println ("Sql error" + e);
}

|
必须先建立好光标的类型和并发性!
其中类型有三种:
TYPE_FORWARD_ONLY,TYPE_SCROLL_INSENSITIVE,TYPE_SCROLL_SENSITIVE
并发性只有两种:
CONCUR_READ_ONLY,CONCUR_UPDATABLE(可更新记录集)
所以你应该 是connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.CONCUR_READ_ONLY )
它是jdbc2.0才有的功能!

|
statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.CONCUR_READ_ONLY );

|
因为你建立的Statement是只能往前移动的只读光标,你需要建立可移动的。
connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, CONCUR_READ_ONLY),这样你的ResultSet就可以使用first和last了。

这是JDBC2.0的标准。

    
 
 

您可能感兴趣的文章:

  • 求教高手,JDBC驱动问题:Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);一直报
  • 为什么我通过jdbc-odbc桥连接到access数据库的时候resultset只能向后移不能前移或作其它移动???
  • 用JDBC-ODBC访问ACCESS,能不能用ResultSet的deleteRow()方法?我怎么用的不行?另外,我在使用CachedRowSet类时,当调用acceptChange()方法时
  • JDBC2.0中关于ResultSet.absolute()和关于传输大小问题
  • 讨论:JDBC中Connection,Statement,ResultSet的关系?
  • 求救:让我烦的简单问题 - jdbc,resultset
  • jdbc的ResultSet能否用储存过程返回多个数据集?
  • 如何把用jdbc查出的resultset结果集数据通过网络发送到另一台机器上(给100分)
  • 如何把JDBC返回的ResultSet转化为XML
  • 编程语言 iis7站长之家
  • java开发数据库,一般是用JDBC-ODBC桥,还是JDBC驱动程序连接数据库呢?
  • 请问连接本机数据库的JDBC,和连接远程的JDBC有没有区别?
  • jdbc连接数据库,能否有jdbc中的方法进行安全设置:
  • java通过jdbc访问数据库流行采用何种数据库驱动程序?jdbc-odbc , InterClient , 还是“网络协议/全java驱动程序”?如有可能,请给简明
  • Java数据库集群方案 C-JDBC
  • 请问哪里有JDBC数据库下载?
  • 关于数据库JDBC驱动程序
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • jsp连接sql server2000数据库,用odbc、jdbc那种方案比较好!
  • Linux下,jdbc怎么连接Sybase数据库啊?
  • jsp连接数据库????如何不使用jdbc and odbc??
  • 不想通过jdbc-odbc桥,连接数据库,该怎么做?
  • 如何用jdbc连接sybase数据库!
  • 如何用SQLServer2k-JDBC连接数据库?
  • 通过JDBC如何与SYBASE数据库的连接?
  • java如何用jdbc连sybase数据库
  • 讨论:jdbc连接oracle数据库
  • JDBC连接SQLServer数据库问题!!!
  • 在jsp中通过JDBC和odbc链接数据库的语句各是怎样写的?
  • 关于JDBC与数据库的连接
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • OLAP数据源的JDBC驱动 Jdbc4Olap
  • 用jdbc:odbc:odbcDataSource在连接本机的SQL Server数据源可以,没问题,但如果我想连到服务器上的数据源上时,用jdbc:odbc应如何写?
  • 关于JDBC-ODBC连接ACCESS数据库的问题(不设置数据源)?
  • 各位大虾!!如果我用jdbc-odbc桥的数据库驱动,那岂不是当在本地机上做好网站之后,还需要在服务器上重新定义数据苦于数据源!但这是不
  • 如何用JDBC来查询数据库中日期最近的一行数据
  • 通过JDBC连接数据库,执行抄作后,关闭了连接,数据服务器端的进程还在,怎麽处理?
  • java使用jdbc连接数据库工具类和jdbc连接mysql数据示例
  • jdbc可更新数据集问题,困扰我两日!!
  • sql server数据库有没有专门的jdbc驱动程序,若有,请教怎样获得?
  • 请大家推荐一个好用的小型数据库,再也不想用jdbc:odbc连Access了
  • 如何将一个jdbc数据源绑定到JNDI树上。请教!谢谢!
  • 如何将.mdb数据库连接到JDBC?
  • 我是菜鸟,请问在java里面如何使用JDBC直接访问Sql server数据库?
  • 在jdbc中如何得到一个数据库的所有表?
  • 不用JDBC-ODBC连接oracle数据库?
  • mysql数据库的JDBC驱动程序为什么出现错误?
  • Cego数据库的JDBC驱动 cegojdbc
  • jsp中用jdbc调用oracle数据库
  • 为什么用JDBC连接不上数据库?请各位高手支援
  • jbuilder6开发时如何加入com.sybase.jdbc.SybDriver?让它可以连接sybase数据库
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 高性能JDBC驱动 DataDirect JDBC Drivers
  • 关于JDBC-ODBC和JDBC的区别
  • JDBC驱动代理 HA-JDBC
  • 访问MS SQL能不能直接用JDBC,如果能相应的JDBC Driver从哪里得到?
  • easy question:jdbc与jdk需要分别安装吗。如何设置jdbc的classpath
  • JDBC 工具包 Midao JDBC
  • 请问JDBC和JDBC-ODBC有什么区别?是不是连接的时候也有所不同。
  • JDBC 驱动程序 Drizzle-JDBC
  • JDBC执行日志 JDBC Logger
  • 讨论:纯java的JDBC与JDBC-ODBC桥的比较?那种效率高、快?(面向服务端)


  • 站内导航:


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

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

    浙ICP备11055608号-3