jdbc连接oracle数据库后,需要用到rowid来实现不同jsp页面间数据记录的定位,但一直出现无效的rowid错误,java中用tableModel.getValueAt(row,0); 
得到的rowid都是以这种形式来表示的 
ROWID=oracle.sql.ROWID@8d5a91 
ROWID=oracle.sql.ROWID@3508c0 
ROWID=oracle.sql.ROWID@1d183b7 
ROWID=oracle.sql.ROWID@1e937f 
oracle中的rowid是这种形式:AAAImrAAJAAAAJXAAA 
而用rs.getstring(“rowid”)得到这种形式 
ROWID=414141496F3141414A414141414A55414141 
怎么实现他们之间格式的转化和统一?能给出具体例子吗? 
请高手帮帮忙,不胜感激!

解决方案 »

  1.   

    select rowid rid from tableName;
    java中:
    rs.getString("rid") 应该得到这种形式“AAAImrAAJAAAAJXAAA”再到数据库中取对应的行:select * from tablename where rowid='AAAImrAAJAAAAJXAAA';
      

  2.   

    select rowidtochar(ROWID) rid from tableName; 
    java中: 
    rs.getString("rid") 应该得到这种形式“AAAImrAAJAAAAJXAAA” 再到数据库中取对应的行:select * from tablename where rowid='AAAImrAAJAAAAJXAAA';  
      

  3.   

    非常感谢,可是我改成rs.getString("rid")后,出现下面的错误:
    java.sql.SQLException: 列名无效
    oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
    oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
    oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
    oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5278)
    oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:698)
    oracle.jdbc.driver.ScrollableResultSet.findColumn(ScrollableResultSet.java:946)
    oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1505)
    org.apache.jsp.admin.departinfo_005fquery_jsp._jspService(
      

  4.   

    呵呵,我的问题解决了,非常感谢一楼的oradbalgtu,您不愧是高手啊,佩服佩服!