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开发数据库应用时,经常需要在用户界面上显示查询结果。我们可以利用Vector、JTable、AbstractTableModel等三个类较好地解决这一问题。 类...
(3)掌握可滚动和可更新的结果集的基本操作方法; (4)理解JDBC中实现事务处理的基本方法; (5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法...
1.建立一个名为webstore的数据库,其中建一个名为products的表,数据如下表所示、brand为品牌、price为价格、stock为库存量。 prod_id pname brand price stock ...提示:需使用可滚动、可更新的结果集对象。
jTDS是一个开放源代码的100%纯Java实现的JDBC3.0驱动, 它用于连接 Microsoft SQL Server(6.5,7,...jTDS完全与JDBC3.0兼容,支持只向前和可滚动/可更新的结果集(ResultSets),并且支持完全独立的并行Statements
jTDS完全与JDBC3.0兼容,支持只向前和可滚动/可更新的结果集(ResultSets),并且支持完全独立的并行Statements, 而且实现了所有的数据库元数据(Database MetaData)和结果集元数据(ResultSet MetaData)方法。
13.3 可更新结果集 73 第十四节 编写一个简单的数据库连接池 74 14.1 为什么要使用数据库连接池 74 14.2 数据库连接池雏形 74 14.2 数据库连接池优化 77 14.2.1 对线程池加锁 77 14.2.2 连接不够用时抛出异常 77 ...
JTDS完全与JDBC 3.0兼容,支持只向前的,和可滚动/可更新的结果集(ResultSets)中并行(完全独立)语句,并且可实施所有databasemetadata和resultsetmetadata方法。 文件有说明spring+hibernate+c3p0+jtds的配置
1、java数据库操作基本流程2、几个常用的重要技巧:·可滚动、更新的记录集·批量更新·事务处理java数据库操作基本流程:取得数据库连接-执行sql语句-处理执行结果-释放数据库连接l、取得数据库连接1)用DriverManager...
JDBC连接Oracle 11g及Mysql5,涉及传参,反射,读取属性文件,预处理,(预处理)批处理,带参数的存储过程,事务处理,可滚动的结果集,可更新的结果集
JDBC连接MySQL;JDBC连接Oracle. 两部分源码,写的比较详细,包括对各种结果集进行的处理分类,包括PreparedStatement,CallableStatement,批处理Batch,运用事务处理,滚动结果集和更新结果集等
JDBC通信原理 JDBC驱动类型 JDBC构成 JDBC程序5步走 滚动的结果集 可更新的结果集 SQL数据类型对应的Java类型 事务及批量处理 行集、连接池、LDAP
然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...
然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...
然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...
1、java 数据库操作基本流程 2、几个常用的重要技巧: ·可滚动、更新的记录集 ·批量更新 ·事务处理 java 数据库操作基本流程:取得数据库连接- 执行sql 语句- 处理执行结果- 释放数据库连接
包括配置文件读取,连接对象的创建,查询,增加,修改,元数据的使用方法,图片数据数据库存储读取,存储过程的SQL创建语句和java使用存储过程进行增删改查的调用代码,还有可以更新结果集,可滚动结果集的使用方法
创建数据源 15.2 JDBC-ODBC桥接器 15.3 顺序查询 15.4 可滚动结果集 15.5 排序查询 15.6 模糊查询 15.7 随机查询 15.8 更新、添加、删除记录 15.9 预处理语句 15.10 数据库访问中的套接字技术
1、java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 <br>2、几个常用的重要技巧: 可滚动、更新的记录集 批量更新 事务处理
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 ...