`
Luob.
  • 浏览: 1568655 次
  • 来自: 上海
社区版块
存档分类
最新评论

可滚动 ,可更新的 结果集

    博客分类:
  • JDBC
阅读更多
package com.enhance.jdbc;

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Properties;

public class ResutSetTest {

	private String driver;
	private String url;
	private String user;
	private String pass;
	private Connection conn;
	private ResultSet rs;
	private PreparedStatement pstmt;
	public void initParam(String paramFile) throws Exception{
		Properties prop=new Properties();
		prop.load(new FileInputStream(paramFile));
		driver=prop.getProperty("driver");
		url=prop.getProperty("url");
		user=prop.getProperty("user");
		pass=prop.getProperty("pass");
	}
	//ResultSetType:控制ResulSet的类型
	//ResultSet.TYPE_FORWARD_ONLY  :控制指针只能向前移动  (jdk1.4的默认值)
	//ResultSet.TYPE_SCROLL_INSENSITIVE :指针可以自由移动,但底层数据改变不会影响ResultSet的内容
	//ResultSet.TYPE_SCROLL_SENSITIVE :指针可以自由移动,而且 底层数据改变会影响ResultSet的内容
	
	//ResultSetConcurrency:控制ResultSet的并发类型
	//ResultSet.CONCUR_READ_ONLY :指示ResultSet是只读的并发模式 (默认)
	//ResultSet.CONCUR_UPDATABLE :指示ResultSet是可更新的并发模式
	public void query(String sql) throws Exception{
		
		try{
			Class.forName(driver);
			conn=DriverManager.getConnection(url,user,pass);
			
			Statement stmt=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
			
			//加入参数设定 后 ,得到一个可自由滚动 和 可以修改  pstmt
			pstmt=conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
			//ResultSet.TYPE_FORWARD_ONLY
			//ResultSet.TYPE_SCROLL_INSENSITIVE
			//ResultSet.TYPE_SCROLL_SENSITIVE
			
			rs=pstmt.executeQuery();
			
			//定位到最后
			rs.last();
			int rowCount=rs.getRow();
			ResultSetMetaData rsmd=rs.getMetaData();
			int columnCount=rsmd.getColumnCount();
			for (int j = rowCount; j >0; j--) {
				rs.absolute(j); //跳到指定的行
				for(int i=0;i<columnCount;i++){
					System.out.print(rsmd.getColumnName(i+1)+"---\t--"+rsmd.getColumnType(i+1)+"---\t--"+rs.getString(i+1)+"\t----|-");
				}
				//进行修改 
				rs.updateString(2, "飞天猪"+j);
				rs.updateRow(); //提交修改
				
				System.out.println();
			}
		}finally{
			if(rs!=null)
				rs.close();
			if(pstmt!=null)
				pstmt.close();
			if(conn!=null)
				conn.close();
		}
		
	}
	
	public static void main(String[] args) throws Exception{
		ResutSetTest rst=new ResutSetTest();
		rst.initParam("src/mysql.ini");
		rst.query("select * from my_test");
		
	}
	
	
}

分享到:
评论

相关推荐

    Java数据库查询结果的输出

    Java数据库查询结果的输出 摘自:北京海脉信息咨询有限公司  利用Java开发数据库应用时,经常需要在用户界面上显示查询结果。我们可以利用Vector、JTable、AbstractTableModel等三个类较好地解决这一问题。 类...

    JDBC数据库编程实验

    (3)掌握可滚动和可更新的结果集的基本操作方法; (4)理解JDBC中实现事务处理的基本方法; (5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法...

    java实验五(1).doc

    1.建立一个名为webstore的数据库,其中建一个名为products的表,数据如下表所示、brand为品牌、price为价格、stock为库存量。 prod_id pname brand price stock ...提示:需使用可滚动、可更新的结果集对象。

    jtds.jdbc.Driver ,连接 SQL Server 所需驱动

    jTDS是一个开放源代码的100%纯Java实现的JDBC3.0驱动, 它用于连接 Microsoft SQL Server(6.5,7,...jTDS完全与JDBC3.0兼容,支持只向前和可滚动/可更新的结果集(ResultSets),并且支持完全独立的并行Statements

    jtds-1.2.jar

    jTDS完全与JDBC3.0兼容,支持只向前和可滚动/可更新的结果集(ResultSets),并且支持完全独立的并行Statements, 而且实现了所有的数据库元数据(Database MetaData)和结果集元数据(ResultSet MetaData)方法。

    Java_JDBC由浅入深

    13.3 可更新结果集 73 第十四节 编写一个简单的数据库连接池 74 14.1 为什么要使用数据库连接池 74 14.2 数据库连接池雏形 74 14.2 数据库连接池优化 77 14.2.1 对线程池加锁 77 14.2.2 连接不够用时抛出异常 77 ...

    jtdsJDBC Driver

    JTDS完全与JDBC 3.0兼容,支持只向前的,和可滚动/可更新的结果集(ResultSets)中并行(完全独立)语句,并且可实施所有databasemetadata和resultsetmetadata方法。 文件有说明spring+hibernate+c3p0+jtds的配置

    关于java数据库基本操作

    1、java数据库操作基本流程2、几个常用的重要技巧:·可滚动、更新的记录集·批量更新·事务处理java数据库操作基本流程:取得数据库连接-执行sql语句-处理执行结果-释放数据库连接l、取得数据库连接1)用DriverManager...

    JDBC连接操作Oracle及Mysql详解

    JDBC连接Oracle 11g及Mysql5,涉及传参,反射,读取属性文件,预处理,(预处理)批处理,带参数的存储过程,事务处理,可滚动的结果集,可更新的结果集

    JDBC_MySQL&Oracle;源码

    JDBC连接MySQL;JDBC连接Oracle. 两部分源码,写的比较详细,包括对各种结果集进行的处理分类,包括PreparedStatement,CallableStatement,批处理Batch,运用事务处理,滚动结果集和更新结果集等

    JDBC编程resultset游标控制

    JDBC通信原理 JDBC驱动类型 JDBC构成 JDBC程序5步走 滚动的结果集 可更新的结果集 SQL数据类型对应的Java类型 事务及批量处理 行集、连接池、LDAP

    JDBC API教程与参考手册part4

    然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...

    JDBC API教程与参考手册part3

    然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...

    JDBC API教程与参考手册part2

    然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...

    关于JAVA数据库基本操作

    1、java 数据库操作基本流程 2、几个常用的重要技巧: ·可滚动、更新的记录集 ·批量更新 ·事务处理 java 数据库操作基本流程:取得数据库连接- 执行sql 语句- 处理执行结果- 释放数据库连接

    JDBC编程代码示例

    包括配置文件读取,连接对象的创建,查询,增加,修改,元数据的使用方法,图片数据数据库存储读取,存储过程的SQL创建语句和java使用存储过程进行增删改查的调用代码,还有可以更新结果集,可滚动结果集的使用方法

    Java数据库连接(JDBC)

    创建数据源 15.2 JDBC-ODBC桥接器 15.3 顺序查询 15.4 可滚动结果集 15.5 排序查询 15.6 模糊查询 15.7 随机查询 15.8 更新、添加、删除记录 15.9 预处理语句 15.10 数据库访问中的套接字技术

    Java数据库编程中的技巧

    1、java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 &lt;br&gt;2、几个常用的重要技巧:  可滚动、更新的记录集  批量更新  事务处理

    Java核心技术II(第8版)

    4.6 可滚动和可更新的结果集 4.6.1 可滚动的结果集 4.6.2 可更新的结果集 4.7 行集 4.7.1 被缓存的行集 4.8 元数据 4.9 事务 4.9.1 保存点 4.9.2 批量更新 4.9.3 高级SQL类型 4.10 Web与企业应用中的连接管理 4.11 ...

Global site tag (gtag.js) - Google Analytics