关于RecordSet的问题,急急急急急急急!

a3skite 2002-08-15 07:29:08
1. 怎么判断一个RecordSet有多少行、多少列?
2. 为什么我用RecordSet.getObject()或者RecordSet.getString()取数时,只能按顺序取?例如先取第14列再取第6列就提示:
Exception in thread "main" java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引
...全文
42 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andrawu 2002-08-16
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/906/906584.xml?temp=.5109522
bookbobby 2002-08-15
  • 打赏
  • 举报
回复
1. 必须是jdbc2.0才可以随意取列,而且不能使用jdbc-odbc桥

2。你可以执行一次sql: select count(*) from table where 条件取道你需要的记录数目。
dearlori 2002-08-15
  • 打赏
  • 举报
回复
问题一:
...
Statement st= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs= st.executeQuery(sql);
ResultSetMetaData getdata = rs.getMetaData();
int Colcount = getdata.getColumnCount();//得到一个记录的列数;
nt numRows = 0;
boolean rs_isEmpty = !rs.next();
if (!rs_isEmpty){
rs.last();
numRows = rs.getRow();//得到记录集的总记录数(总行数);
rs.first();
}
问题二:
像上面那样定义Statement,应该可以随意取记录,只要控制好游标的位置
crazymanz 2002-08-15
  • 打赏
  • 举报
回复
1、recordset对象只能说有多少个,而不能说有多少行多少列吧?一条记录就是一个recordset中的一个对象。取得recordset的方法:
Recordet rs;
rs.last();
int Num=rs.getRow();
Num即是recordset的个数了
2、第二个问题,以前我也在论坛上面看见过类似的取mssql中的数据颠倒顺序时出错的帖子。不知道最后如何解决了,你可以搜索一下,个人觉得好像跟你的odbc驱动有关。

81,091

社区成员

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

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