在滚动结果集中可用的方法有:
rs.previous();//向前滚动
rs.next();//向后滚动
rs.getRow();//得到当前行号
rs.absolute(n);//光标定位到n行
rs.relative(int n);//相对移动n行
rs.first();//将光标定位到结果集中第一行。
rs.last();//将光标定位到结果集中最后一行。
rs.beforeFirst()//将光标定位到结果集中第一行之前。
rs.afterLast();//将光标定位到结果集中最后一行之后。
rs.moveToInsertRow();//光标移到插入行
rs.moveToCurrentRow();//光标移回到调用
rs.moveToInsertRow()方法前光标所在行
//测试光标位置
rs.isFirst()
rs.isLast()
rs.isBeforeFirst()
rs.isAfterLast()
例子:
import java.sql.*;
public class TestScroll {
public static void main(String args[]) {
try {
new oracle.jdbc.driver.OracleDriver();
String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";
Connection conn = DriverManager
.getConnection(url, "scott", "tiger");
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt
.executeQuery("select * from emp order by sal");
rs.next();
System.out.println(rs.getInt(1));
rs.last();
System.out.println(rs.getString(1));
System.out.println(rs.isLast());
System.out.println(rs.isAfterLast());
System.out.println(rs.getRow());
rs.previous();
System.out.println(rs.getString(1));
rs.absolute(6);
System.out.println(rs.getString(1));
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
在可更新结果集中可用的方法有:(单表)
rs.insertRow();//把插入行加入数据库和结果集
rs.deleteRow();//从数据库和结果集中删除当前行
rs.updateXXX(int column,XXX data);XXX代表int/double/String/Date中类型之一
rs.updateXXX(String columnName,String Data); //以上两个方法更新结果集当前行
rs.updateRow();//更新内容发送到更新数据库
例子:
import java.sql.*;
public class TestUpdataRs {
public static void main(String args[]){
try{
new oracle.jdbc.driver.OracleDriver();
String url="jdbc:oracle:thin:@192.168.0.1:1521:SXT";
Connection conn=DriverManager.getConnection(url,"scott","tiger");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from emp2");
rs.next();
//更新一行数据
rs.updateString("ename","AAAA");
rs.updateRow();
//插入新行
rs.moveToInsertRow();
rs.updateInt(1, 9999);
rs.updateString("ename","AAAA");
rs.updateInt("mgr", 7839);
rs.updateDouble("sal", 99.99);
rs.insertRow();
//将光标移动到新建的行
rs.moveToCurrentRow();
//删除行
rs.absolute(5);
rs.deleteRow();
//取消更新
//rs.cancelRowUpdates();
}catch(SQLException e){
e.printStackTrace();
}
}
}
分享到:
相关推荐
JDBCUtils是一个常见的辅助工具类,它封装了JDBC的一些常用操作,以简化数据库的增删查改过程,避免重复性代码,提高开发效率。这篇博客(尽管链接无法直接访问)可能详细介绍了如何构建和使用这样的工具集。 ...
8. **JDBC的ResultSets有几种类型?** ResultSet的类型有三种:TYPE_FORWARD_ONLY(默认,只能向前滚动),TYPE_SCROLL_INSENSITIVE(可滚动但不关心数据变化),TYPE_SCROLL_SENSITIVE(可滚动并关心数据变化)。 ...
在早期的JDBC版本中,JDBC-ODBC桥是一种常用的连接方式。这种方式通过调用`Class`类的`forName()`方法来注册ODBC-JDBC驱动程序。具体步骤如下: ```java Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ``` 这里...
**3.1 Statement的常用方法** - `executeQuery(String sql)`:执行查询语句,返回ResultSet对象。 - `executeUpdate(String sql)`:执行插入、更新或删除语句,返回受影响的行数。 - `execute(String sql)`:执行...
**4.1 Statement 的常用方法** - `executeQuery(String sql)`:执行查询语句并返回 `ResultSet`。 - `executeUpdate(String sql)`:执行 DML 语句并返回受影响的行数。 - `execute(String sql)`:执行任何类型的 SQL...
其中,最常用的是Thin Driver,也称为纯Java驱动,因为它无需Oracle客户端软件,只需一个.jar文件即可实现数据库连接。这种驱动轻量级且跨平台,适用于大多数开发场景。 在"oracle+jdbc"这个压缩包中,通常会包含...
Mybatis是Java开发中常用的持久层框架,它简化了数据库操作并与ORM(对象关系映射)紧密结合。在Mybatis中,TypeHandler起着至关重要的作用,它是Mybatis处理Java类型与JDBC类型之间转换的桥梁。这篇博文将深入探讨...
Struts2、Spring和JDBC是Java开发中常用的三大框架,它们在Web应用开发中扮演着重要的角色。这里我们详细探讨一下这三个框架以及它们的整合。 Struts2 是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE...
3. **请求与响应**:HttpServletRequest和HttpServletResponse接口,常用方法的理解和使用。 4. **转发与重定向**:它们的区别和应用场景。 5. **Servlet过滤器**:Filter接口,doFilter()方法,以及如何配置和...
Struts2是其最新版本,提供了更丰富的功能,如国际化支持、动态方法调用和插件架构,让开发者能够快速构建Web应用。 3. **MySQL_JDBC**: MySQL是一款开源的关系型数据库管理系统,广泛应用于各种规模的Web应用。...
5. **处理结果集(Handling Result Set)**: 对于查询语句,返回一个`ResultSet`对象,可以通过迭代遍历获取数据。 6. **关闭资源(Closing Resources)**: 最后,记得关闭`ResultSet`、`Statement`和`Connection`...
"java常用jar包集合"是一个综合性的资源,涵盖了多种Java开发中常用的技术框架和库,方便开发者快速构建和运行J2EE应用。以下是对这些jar包及其相关知识点的详细说明: 1. **数据库驱动包**: - **JDBC驱动**:...
### 一些常用数据库存储过程 在软件开发过程中,数据库存储过程是提高应用程序性能和安全性的关键技术之一。存储过程是一组预编译好的SQL语句和控制流语句的集合,可以实现复杂的业务逻辑处理,同时减少网络通信...
通过JDBC接口直接连接数据库、通过JDBC-ODBC桥连接数据库以及通过JavaBean连接数据库这三种方法各有优缺点。开发人员可以根据实际项目需求选择合适的连接方式,以提高Web应用程序与数据库的交互性能。 对于动态网站...
JDBC的常用方法建议封装到工具类中,以便于代码复用和维护。 总结,这个项目展示了如何使用Servlet、JSP和JDBC构建一个简单的作业管理系统,涵盖了数据库设计、用户交互、数据处理等多个环节,为初学者提供了实践...
接着,我们讨论**Android自带的SQLite管理方法**,这是更常用的方式。Android提供了`SQLiteOpenHelper`类,它是处理SQLite数据库的主要入口点。这个类的主要职责是创建和升级数据库,以及提供`getWritableDatabase()...
Java开发中,jar(Java Archive)包是一种重要的文件格式,用于...这两个框架的原理和使用方法,对于理解其他Java Web框架也有着深远的影响。因此,深入学习并熟练应用这些常用jar包,将有助于提升开发效率和代码质量。
以上就是Java使用JDBC连接数据库的基本流程和常用操作。在实际开发中,为了提高代码的可读性和可维护性,通常会使用连接池(如C3P0、HikariCP等)来管理数据库连接,以及ORM框架(如Hibernate、MyBatis)来简化...
6. **JDBC**: Java Database Connectivity 是Java访问数据库的标准接口,`JdbcUtil` 类常用于封装数据库连接、执行SQL语句、处理结果集等操作。这有助于减少数据库操作中的重复代码,提高代码的可读性和可维护性。 ...
这个类通常使用JDBC(Java Database Connectivity)API,通过加载数据库驱动并调用`Connection`对象的方法来建立与数据库的连接。例如: ```java public static Connection getConnection() { // 加载数据库驱动 ...