JDBC--ResultSet对象

本文介绍了一个使用Java JDBC操作数据库的示例程序,演示如何通过设置ResultSet的属性实现结果集的前后滚动,以便直接访问任意位置的数据。
在第一个JDBC程序,首先注册了MySql的数据库驱动类,通过DriverManager获取一个Connection对象,然后使用Connection对象
创建Statement对象,Statement对象能够通过executeQuery()方法执行SQL语句。
ResultSet之前操作主要用于存储结果集,并且只能通过next()方法由前向后逐个获取结果集中的数据。但是要想获取结果集中

的任意数据,则需要在创建Statement对象,设置两个Resultset定义的常量。

具体语句如下:
Statement st=coon.createStatement(ResultSet.TYPE_SCROLL_INSENITIVE,ResultSet.CONCUR_READ_ONLY);
//表示结果及可以滚动,并且以读的形式打开结果集。
ResultSet rs=st.excuteQuery(sql);

程序如下:

package mysql;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.jdbc.Connection;
public class Ex04 {
	public static void main(String args[])throws SQLException {
		 Connection conn=null;
		 Statement stmt=null;
		 try{
				 //加载数据库驱动
			  Class.forName("com.mysql.jdbc.Driver");
			  String url="jdbc:mysql://localhost:3306/chapter01";
			  String username="root";
			  String password="90876";
			  //创建数据库与应用程序连接的Connection对象
			   conn=(Connection) DriverManager.getConnection(url,username,password);
			   String sql="select*from users";
			   Statement st=conn.createStatement(
					   ResultSet.TYPE_SCROLL_INSENSITIVE,
					   ResultSet.CONCUR_READ_ONLY);
			   ResultSet rs=st.executeQuery(sql);
			   System.out.println("第二条数据的值为:");//将指针定位
			   rs.absolute(2);
			   System.out.println(rs.getString("name"));
			   System.out.println("第一条数据的值为:");
			   rs.beforeFirst();//将指针定位到结果集中第一行数据之前
			   rs.next();//指针向后滚动
			   System.out.println(rs.getString("name"));
			   System.out.println("第三条数据的值为:");
			   rs.afterLast();
			   rs.previous();//指针向后滚动
			   System.out.println(rs.getString("name"));
		 }catch(Exception e){
			 e.printStackTrace();
		 }finally{  //释放资源
			 if(stmt !=null){
		 try{
				  stmt.close();
			  }catch(SQLException e){
				  e.printStackTrace();
			  }
			  stmt=null;
			  }
			  if(conn !=null){
				  try{
					  conn.close();
				  }catch(SQLException e){
					  e.printStackTrace();
				  }
				  conn=null;
				  }
			  }
	}
} 

运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值