- 浏览: 405401 次
- 性别:
- 来自: 北京
最新评论
-
zhonghuafy:
楼主找到解决方法没
ClientAbortException,java.net.SocketException. -
lfwer:
确实很强!
超强javascript -
fh2002:
写的啥东西。。。你写了这么一些JS就量Ajax?
ajax页面实现跳转 -
mmdexc:
查看源码
<input type=button valu ...
实用且不花哨的js代码大全 -
yinxiangjake:
好贴,学习中,莫大的帮助啊
Java如何调用可执行文件和批处理命令
从结果集中检索值
现在展示在Java编写的程序中如何发送上面的SELECT语句,以及如何取得显示的结果。
JDBC将结果集返回给ResultSet对象,因此需要声明一个ResultSet类实例保存结果。下面代码展示了如何声明ResultSet对象rs并将前面的查询结果赋给它:
ResultSet rs = stmt.executeQuery( "SELECT COF_NAME, PRICE FROM COFFEES");变量rs(ResultSet的一个实例)包含了前面例子的结果集中显示的咖啡单价表。为访问名称和单价要移动到每一行,根据它们的类型检索数值。next方法将光标移到下一行,使那行(称为当前行)成为可在其上操作的行。由于光标初始定位于ResultSet对象第一行的上面,所以第一次调用next方法将光标移到第一行,使它成为当前行。接下来调用next方法将使光标从上至下每次移动一行。对于JDBC 2.0 API(下一节讨论),除了向前移动光标外,还可反向移动光标、移动光标至特定位置及移动光标至当前行相对位置。
适当类型的getXXX方法可用于检索列中的数值。例如,rs每行的第一列是COF_NAME,它存储着VARCHAR SQL类型的数值。检索VARCHAR SQL类型数值的方法是getString。每行第二列存储着FLOAT SQL类型的数值,检索该类型数值的方法是getFloat。下面代码访问rs中的当前行,然后输出由名称、3个空格和价格组成的一行字符串。每次调用next方法,下一行就成为当前行,循环一直持续到rs中再也没有可向前移动的行为止。
String query = "SELECT COF_NAME, PRICE FROM COFFEES"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { String s = rs.getString("COF_NAME"); float n = rs.getFloat("PRICE"); System.out.println(s + " " + n); }Colombian 7.99 French_Roast 8.99 Espresso 9.99 Colombian_Decaf 8.99 French_Roast_Decaf 9.99注意,使用弯箭头表示从JDBC代码输出;这不是输出的组成。箭头不用于结果集中的结果,因此箭头可将结果集的内容和应用程序的输出区分开。
通过测试这段代码的两条getXXX语句,您将进一步看到getXXX方法的工作方式。先测试getString吧!
String s = rs.getString("COF_NAME");由于对ResultSet对象rs调用了getString方法,因此getString将检出(取得)rs当前行COF_NAME列中的值。getString检出的值已从SQL CHAR类型转换成Java中的String并赋给了Sring对象s。注意,在上面的println表达式中使用了变量s,也就是println(s + " " + n) 。
getFloat方法与getString类似,只不过它检索PRICE列(这是SQL FLOAT类型)的值,并在赋给变量n之前转换成Java的Float。
JDBC使用两种方法标识getXXX方法检索数值的列。一种是指定列名,这也是前面例子所做的。另一种是指定列索引(列的序号),1表示第一列,2表示第二列,以此类推。使用列号代替列名,上面的语句将变为:
String s = rs.getString(1); float n = rs.getFloat(2);第一行代码提取rs当前行第一列的数值,然后将它转换为Java的String对象并赋给s。第二行代码提取rs当前行第二列的数值,然后将它转换为Java的Float对象并赋给n。注意,这里的列号指的是结果集中的列号,而不是原始表中的列号。
总之,JDBC允许使用列名或列号作为getXXX方法的参数。使用列号会更有效些,在某些场合还必须使用列号。但一般而言,使用列名和使用列号在本质上是等价的。
至于可用哪些getXXX方法检索不同的SQL数据类型,JDBC给了很大的灵活性。例如,getInt方法可用于检索任何numeric或character类型的数值。它检出的数据将转换成int;换言之,如果SQL类型是VARCHAR,JDBC将试着从VARCHAR中解析出一个整数。推荐只用getInt方法检索SQL INTEGER类型的数据;但它不能用于检索BINARY、VARBINARY、LONGVARBINARY、DATE、TIME或TIMESTAMP SQL类型的数据。
表24——检索SQL类型数据的方法展示了哪些方法可合法检索SQL类型的数据,特别是推荐用哪些方法检索各种SQL类型的数据。注意,这张表使用术语“JDBC类型”代替了“SQL类型”。这两个术语都指java.sql.Types中定义的一般SQL类型,它们之间可互换 。
尽管推荐使用getString方法检索CHAR和VARCHAR SQL类型的数据,但也可能用它检索其他基本SQL类型的数据(但不可用它检索新的SQL3数据类型。本教程后面将讨论SQL3类型)。用getString检索所有数值有很多优点但也有局限。如果用它检索numeric类型的数据,getString将把numeric值转换成Java的String对象,这样一来,在数据要作为数字前就必须转换回numeric类型。在数值一直当成字符串的场合,这是无可非议的。如果想让程序检索除了SQL3类型之外的任何标准SQL类型,就可用getString方法。
注意:如果阅读这张表有困难,请看使用ResultSet.getXXX:Table-Free版,以取得相同信息的不同视图。
getByte
getShort
getInt
getLong
getFloat
getDouble
getBigDecimal
getBoolean
getString
getBytes
getDate
getTime
getTimestamp
getAsciiStream
getUnicodeStream
getBinaryStream
getObject
相关推荐
你需要下载并安装MySQL,通过其自带的管理器或第三方工具(如Navicat、Workbench)来管理数据库。 2. **JDBC(Java Database Connectivity)**:JDBC是Java中用来连接数据库的标准API,它允许Java应用程序与各种...
### JDBC详解(基础版本) #### 一、JDBC概述 **1.1 什么是JDBC?** JDBC(Java Database Connectivity)是Java平台上的数据库访问技术。简而言之,它是Java语言与各种数据库进行交互的桥梁。通过JDBC,开发者...
### JDBC基础知识总结 #### 一、概述 JDBC(Java Database Connectivity)是一种标准的Java API,用于连接并操作各种类型的数据库。它从物理结构上说就是一套Java语言访问数据库的接口集合,本质上则是调用者...
综上所述,JDBC是Java与数据库交互的基础,理解并熟练掌握JDBC原理和实践,对于任何Java开发者来说都是至关重要的,无论是进行简单的数据操作,还是构建复杂的数据库应用。通过深入学习和实践,可以更好地应对各种...
### JDBC基础教程之ResultSet对象详解 #### 一、ResultSet对象概览 `ResultSet`对象是Java Database Connectivity (JDBC) API中的一个核心组件,用于处理SQL查询结果。它充当了一个临时的数据存储,其中包含了所有...
【JDBC基础】 JDBC(Java Database Connectivity)是Java编程语言中用于访问数据库的标准Java API,它允许Java开发者在程序中执行SQL语句并与各种数据库进行交互。JDBC为Java程序员提供了一种统一的方式来连接和操作...
**JBuider第十三章:JDBC基础知识** 在Java编程中,JDBC(Java Database Connectivity)是连接Java应用程序与各种数据库的重要桥梁。本教程聚焦于JDBC的基础知识,旨在帮助初学者理解如何在Java程序中操作数据库。...
二、JDBC基础 1. 驱动加载:JDBC操作的第一步是加载数据库驱动,通过Class.forName()方法指定驱动类名,如"com.mysql.jdbc.Driver"。 2. 数据库连接:使用DriverManager.getConnection()方法建立到数据库的连接,...
- **第1章:JDBC基础** - JDBC简介 - 安装配置指南 - 第一个JDBC程序 - 连接数据库 - 执行SQL语句 - **第2章:JDBC核心API** - DriverManager类详解 - Connection接口解析 - Statement接口介绍 - ResultSet...
三、JDBC应用步骤 1. 注册加载一个driver 驱动 2. 创建数据库连接(Connection) 3. 创建一个Statement(发送SQL) 4. 执行SQL语句 5. 处理SQL结果(SELECT语句) 6. 关闭Statement 7. 关闭连接Connection 注意:6...
### JDBC基础教程之概述 #### 一、JDBC简介与概念理解 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC的...
### JDBC基础 1. **JDBC简介**:JDBC是Java API,用于与各种数据库进行连接,执行SQL语句并处理结果。它提供了一套统一的接口,使得开发者无需关心底层数据库的细节。 2. **JDBC驱动**:根据不同的数据库系统,...
### JDBC基础教程之连接知识点详解 #### 一、Connection对象及其作用 - **Connection对象**:在JDBC中,`Connection`对象代表了一个与数据库之间的连接。通过这个连接,应用程序可以执行SQL语句并获取结果集。 - *...
它们是所有JDBC操作的基础。 2. **JDBC Driver提供商的JAR文件**:每个数据库供应商都有自己的JDBC驱动实现,这些驱动是特定于数据库的。例如,对于MySQL,我们需要的是`mysql-connector-java.jar`;对于Oracle,...
总之,JDBC规范文档是了解Java数据库编程的基础,无论是数据库开发者、还是应用程序开发者,都需要对其规范有深入的理解。通过遵循JDBC规范,开发者可以编写出能够在多种数据库系统中移植的代码,同时确保代码的可...
**JDBC 入门知识详解** ...综上所述,JDBC是Java与数据库交互的基础,理解其工作原理和最佳实践对于任何Java开发者来说都至关重要。通过深入学习,我们可以更有效地构建健壮且高效的数据库应用程序。
1. msbase.jar:这个文件是基础类库,包含了JDBC驱动的基本组件,提供了与数据库进行通信的基础功能。这些功能包括但不限于建立网络连接、处理结果集、执行SQL命令等。通过这个jar包,开发者可以创建和管理到SQL ...