JDBC--ResultSet对象

来源:互联网 发布:浪漫的c语言小程序 编辑:程序博客网 时间:2024/05/22 13:04
在第一个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;  }  }}} 

运行结果:


原创粉丝点击