jdbc记录指针的问题?(来者有分)
各位:
我用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)
请高手指出错误原因,请高手指点一下,我的思路是否正确,有没有更好的办法,先谢谢各位了。
我用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)
请高手指出错误原因,请高手指点一下,我的思路是否正确,有没有更好的办法,先谢谢各位了。
...全文
相关推荐
JDBC简单分页方案
**JDBC分页的实现策略**面对这一问题,开发者通常需要借助JDBC提供的资源自行实现分页。
JAVA的JDBC学习遇到的问题1
**错误处理** 当遇到问题时,查看`SQLException`堆栈跟踪,它通常提供了错误的详细信息。同时,使用日志框架(如Log4j、SLF4J)记录错误信息,有助于调试。8.
Access_JDBC30.jar
然而,原始的JDBC驱动可能会遇到一些限制和问题,比如查询次数和返回行数的约束,以及执行方法可能出现的空指针异常。"Access_JDBC30.jar"便是为了解决这些问题而设计的增强型驱动。
JDBC工具类
**日志记录** - 可以在工具类中加入日志记录,比如使用Log4j、SLF4J等日志框架,记录SQL语句及其执行时间,便于排查问题和优化SQL性能。
JDBC代码JDBC代码JDBC代码
`ResultSet`提供了如`next()`、`getString()`等方法来移动指针并获取数据。6.


