jdbc记录指针的问题?(来者有分)

dcren521 2004-07-28 10:38:19
各位:
我用jcreator3连接 oracle数据成功!(用到了类:classes12.zip)
在程序中通过连接conn创建了Statement对象 stmt,然后执行了一条SQL语句,这个地方根据程序要有一个判断形成两个分支,
如果结果集内有记录,执行第一个分支,如果没有记录,执行第二个分支

Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();
String sql = "select id,parent_id from menu_tmp where parent_id=0";
ResultSet rs = stmt.executeQuery(sql);
//下一行判断rs中是否有记录,判断语句为
if(rs.next)
{
while(rs.next())
{
……
}
}
else
{
……
}

很明显,如果记录集不为空,再执如下分支语句时,记录指针已经不指下第一条记录了。
while(rs.next())
{
……
}
我查了点资料,改进方法如下,
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE);
String sql = "select id,parent_id from menu_tmp where parent_id=0";
ResultSet rs = stmt.executeQuery(sql);
if(rs.next())
{
rs.beforeFirst()
//不知以上这条语句是否正确,我想让记录指针指向if语句前的状态,
//不知该用rs.first()
while(rs.next())
{
……
}
}
纵然如此编译不过
错误指示:
cannot resolve symbol
symbol : method createStatement (int)
请高手指出错误原因,请高手指点一下,我的思路是否正确,有没有更好的办法,先谢谢各位了。
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dcren521 2004-09-08
  • 打赏
  • 举报
回复
请大家再帮忙看一下
spiritsl 2004-07-28
  • 打赏
  • 举报
回复
up
eureka0891 2004-07-28
  • 打赏
  • 举报
回复
用judyhui7612() 的方法,或者换个支持beforeFirst()的驱动
wssgwps 2004-07-28
  • 打赏
  • 举报
回复
//try:
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//....
if(rs.next())
{
/**
* Moves the cursor to the front of
* this <code>ResultSet</code> object, just before the
* first row. This method has no effect if the result set contains no rows.
*/

rs.beforeFirst()
while(rs.next())
{
……
}
}
hsdxhc 2004-07-28
  • 打赏
  • 举报
回复
这样做是可以的,beforeFirst()方法使得ResultSet的状态如同刚刚被查询出来一样。

而且你编译时出现的错误提示在这个方法调用之前呀。是createStatement的错误。缺少参数。没有这样的定义。createStatement的三种定义没有createStatement(int)型的。
shfan 2004-07-28
  • 打赏
  • 举报
回复
报错的原因是此环境不支持jdbc2.0啊
oracle class12.zip支持吗?
帮你顶一下
judyhui7612 2004-07-28
  • 打赏
  • 举报
回复
if(rs.next)
{

do {
……
}while(rs.next())

}
else
{
……
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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