• 沒有找到結果。

13 clearWarning

public abstract void clearWarning throws SQLException 该方法用于清除SQL 语句执行后产生的警告信息

14 execute

public abstract boolean execute String sql throws SQLException

参数sql 为代表 SQL 的 SELECT 语句的字符串 该方法用于执行可能返回一个或多个 结果集的查询语句 如果语句执行后由结果集返回 则返回值为true 否则返回 false

15 getResultSet

public abstract ResultSet getResultSet throws SQLException

该方法用于获得execute 方法执行后获得的第一个 ResultSet 一个结果只能调用一次 返回值为当前结果集 如果结果不是结果集 则返回空

16 getUpdateCout

public abstract int getUpdateCout throws SQLException

该方法用于获得使用execute 方法执行 INSERT UPDATE 和 DELETE 语句操作涉及 到的行数 如果execute 方法操作结果是结果集或没有别的结果 则返回-1

17 getMoreResult

public abstract boolean getMoreResult throws SQLException

当 execute 方法执行后由多个结果集返回 则可用该方法获得下一个结果 当结果为 结果集时返回 true 同时也隐含性地关闭 getResultSet 方法所包含的结果集 当 getMoreResult && getUpdateCount = = 1 时 则没有别的结果 如果下一个 结果为修改计数或没有别的结果 则返回false

5.2

JDBC 类

前面介绍了JDBC 接口 下面介绍 JDBC 中的类

5.2.1 java.sql.Date 类

java.sql.Date 类是 java.util.Date 类的子类 为用户提供了处理日期的方法 1 类定义

public class Date extends java.util.Date { } 2 方法定义

1 Date

public Date int year int mouth int day

该方法通过将参数year 表示年 mouth 表示月 day 表示日 传递给其父类 来构造一个日期对象 参数year 取值范围为 1~1900 mouth 取值范围为 1~12 day 取值范 围为1~31

2 Date

public Date(long date)



参数date 为一个长整数 表示从 1970 年 1 月 1 日零时零分零秒起计算的格林尼制标 准时间 以毫秒为单位 该方法用于获得参数date 对应的日期

3 setTime

public void setTime(long date)

参数date 为一个长整数 表示从 1970 年 1 月 1 日零时零分零秒起计算的格林尼制标 准时间 以毫秒为单位 该方法用于将参数date 对应的日期设置为当前日期

4 valueOf

public static Date valueOf String s

参数s 表示以 yyyy-mm-dd 格式存放的日期字符串 该方法日期字符串转换成 Date 类型的值

5 toString public String toString

该方法用于将Date 对象表示的日期转换为 yyyy-mm-dd 格式的字符串

5.2.2 java.sql.DrivrtManager 类

在DrivrtManager 类中提供了用于管理 JDBC 驱动程序的方法 当 DrivrtManager 类进 行初始化时 将使用系统的 jdbc.drivers 属性 DrivrtManager 类会装载每一个找到的驱 动类 你可以在.hotjava\properties 文件中设置 jdbc.drivers 属性 如

jdbc.drivers=myTest.jdbc.Driver:for.sql.Driver:sun.jdbc.odbc.JdbcOdbcDriver

在创建与数据库的连接时 DrivrtManager 类将从已装载的驱动程序中选择一个合适驱 动程序用于建立连接

1 类定义

public class DrivrtManager{ } 2 方法定义

1 getConnection

public static synchorized Connection getConnection String url Properties info throws SQLException

参数意义分别如下

url 字符串类型 表示需要创建连接的数据库的 URL 地址 如 jdbc:odbc:myTestDSN Info Properties 类型 表示创建连接需要的辅助参数 通常是访问数据库需要的用户 名和口令 如包括一个或多个 user 和 password

该方法用于创建与指定数据库url 的连接 2 getConnection

public static synchorized Connection getConnection String url String user String password throws SQLException

参数意义分别如下

url 字符串类型 表示需要创建连接的数据库的 URL 地址 如 jdbc:odbc:myTestDSN user 字符串类型 是可访问连接的数据库的用户名称



password 字符串类型 是可访问连接的数据库用户的密码 该方法用于创建与指定数据库url 的连接

3 getConnection

public static synchorized Connection getConnection String url throws SQLException 参 数 url 字 符 串 类 型 表 示 需 要 创 建 连 接 的 数 据 库 的 URL 地 址 如 jdbc:odbc:myTestDSN

该方法同上 用于创建与指定数据库URL 的连接 4 getDriver

public static Driver getDriver String url throws SQLException

参 数 url 字 符 串 类 型 表 示 需 要 创 建 连 接 的 数 据 库 的 URL 地 址 如 jdbc:odbc:myTestDSN

该方法用于获得与指定的URL 一致的驱动类 DriverManager 会从已注册的 JDBC 驱 动类中选择一个合适的驱动类

5 registerDriver

public static symchorized void registerDriver Driver driver throws SQLException 参数driver 是要注册的 JDBC 驱动类 该方法用于向 DriverManager 注册新的驱动类

6 getDrivers

public static Enumeration getDrivers

该方法用于获得已装载 JDBC 驱动程序类的信息 然后 可使用 d.getClass 或 d.getName 方法可以得到驱动程序类的名称

7 getLoginTimeout

public static int getLoginTimeout

该方法用于获得登录到数据库需要等待的最长时间 8 setLogStream

public static void setLogStream PrintStream out

参数 out 是新的 PrintStream 流 如果为空值 则设置成不允许 该方法用于设置 DriverManager 及其他驱动程序所使用的登录及跟踪的流

9 getLogStream

public static PrintStream getLogStream

该方法用于获得DriverManager 及其他驱动程序所使用的登录及跟踪的流 10 printIn

public static void printIn String message

参数message 是表示有关登录或跟踪的消息 该方法用来向当前 JDBC 的登录流中输 出消息

5.2.3 Java.sql.DriverPropertyInfo 类

DriverPropertyInfo 类一般只被高级程序员使用 通过使用 getDriverProperties 与 Driver 进行交互 获得或使用建立连接需要的资源

1 类定义



public class DriverPropertyInfo{ } 2 成员变量定义

1 choices

public String choices[]

该成员用于存放从一个特定值的集合中选出属性值 如果没有返回值 则其值为空 2 description

public String description

该成员用于存放资源的简单描述信息 可能为空值 3 name

public String name

该成员用于表示资源的名称 4 required

public Boolean required

该成员用于表示在连接过程中提供的资源的值是否是必需的 如果其值为 true 则该 资源的值在连接过程中必须提供

5 value public String value

该成员用于表示资源的当前值 3 方法定义

DriverPropertyInfo

public DriverPropertyInfo String name String value

参数name 代表资源的名称 value 代表当前的资源值 该方法使用 name 和 value 来构 造一个DriverPropertyInfo 对象

5.2.4 java.sql.Time 类

Time 类提供处理时 分和秒的方法 java.sql.Time 类是 java.util.Date 类的子类 使我 们可以表示SQL TIME

1 类定义

public class Time extends java.util.Date { } 2 方法定义

1 Time

public Time int hours int minute int second

参数hour 从 0 到 23 minute 从 0 到 59 second 从 0 到 59 该方法使用指定的参数构 造一个时间

public Time(long time)

参数time 表示从 1970 年 1 月 1 日零时零分零秒计算到一个日期的毫秒数 该方法使 用指定参数构造一个时间

2 valueOf



public static Time valueOf String s

参数s 为 hh:mm:ss 形式的表示时间的字符串 该方法将指定字符串转换成时间值 3 toString

public String toString

该方法用于将JDBC 中的时间格式转化为 hh:mm:ss 形式的字符串

5.2.5 java.sql.Timestamp 类

Timestamp 类是 java.util.Date 的子类 用于处理时间戳问题 1 类定义

public class Timestamp extends java.util.Date { } 2 方法定义

1 Timestamp

public Timestamp int year int month int date int hours int minute int second int nano 该方法用于构造一个时间戳 参数year 为当前年份 month 为月份 从 0 到 11 Day 为日 从1 到 31 hour 为时间 从 0 到 23 minute 为分 从 0 到 59 Second 为秒 从 0 到59 Nano 为纳秒 从 0 到 999999999

2 valueOf

public static Timestamp valueOf String s

参数s 表示 yyyy-mm-dd hh:mm:ss 形式的时间 该方法指定的时间字符串转换成时 间戳值

toString

public String toString

该方法用于将当前时间转换为 yyyy-mm-dd hh:mm:ss 形式的时间戳字符串 3 getNanos

public int getNanos

该方法用于获得时间戳的纳秒值 4 setNanos

public void setNanos int n

该方法设置时间戳的纳秒值 参数n 为新的纳秒值 5 equals

public boolean equals Timestamp ts

该方法用于比较当前时间戳与指定时间戳的值是否相等 参数ts 为要比较的值

5.2.6 java.sql.Types 类

Types 类中定义了一些用于表示 SQL 类型的常量 这些类型的常量值与 XOPEN 标准 中的类型值一致

java.sql.Types 类定义的常量及其值如下

public final static int BIT = -7;



public final static int TINYINT = -6;

public final static int SMALLINT = 5;

public final static int INTEGER = 4;

public final static int BIGINT = -5;

public final static int FLOAT = 6;

public final static int REAL = 7;

public final static int DOUBLE = 8;

public final static int NUMERIC = 2;

public final static int DECIMAL = 3;

public final static int CHAR = 1;

public final static int VARCHAR = 12;

public final static int LONGVARCHAR = -1;

public final static int DATE = 91;

public final static int TIME = 92;

public final static int TIMESTAMP = 93;

public final static int BINARY = -2;

public final static int VARBINARY = -3;

public final static int LONGVARBINARY = -4;

public final static int NULL = 0;

public final static int OTHER = 1111;

5.2.7 Java.sql.DataTruncation 类

在从数据库读取数据或写入数据时 可能会遇到数据截断情况 如果是在读取数据时 发生数据截断 则会产生 DataTruncation 警告 如果是在写数据时发生数据截断 则会产 生SQLException 错误 如果在程序中使用了 Connection 类的 setMaxFieldSize 方法设置了 一个域的最大长度 则在遇到数据截断时并不会产生任何SQLException 和 DataTruncation 在JDBC 中遇到数据截断的情况并不多见 JDBC 提供了 DataTruncation 类来处理数据截 断 该类是SQLWarning 类的子类 当 JDBC 遇到数据截断时 会产生一个 DataTruncation 意外 写操作时 或DataTruncation 警告 读操作时 DataTruncation 的 SQLState 字符 串被设置为 01004

1 类定义

public class DataTruncation extends SQLWarning { } 2 结构定义

1 DataTruncation

public DataTrunction int index boolean parameter boolean read int dataSize int transferSize

该方法为构造函数 2 getIndex



public int getIndex

该方法用于获得被执行了截尾操作的列或参数的序号 如果不能确定列或参数的序 号 则返回-1 在这种情况下 parameter 和 read 域将被忽略

3 getParameter

public boolean getParameter

该方法用于判断被截断的是否是参数 如果是参数 则返回 true 如果为列值 则返 回false

4 getRead

public boolean getRead

该方法用于判断截断操作是否是在读操作时发生的 如果是 则返回 true 否则返回 false

5 getDatasize public int getDatasize

该方法用于获得被截断数据的字节数 如果被截的大小不知道的话 则返回值为-1 6 getTransferSize

public int getTransferSize

该方法用于获得实际被传输数据的字节数大小 如果大小不知道 则返回-1

5.2.8 Java.sql.SQLException 类

SQLException 类是 java.lang.Exception 类的子类 SQLException 类提供处理访问数据 库时的出错信息 一般来说 一个SQLException 对象可以为用户提供如下信息

z 错误描述字符串 该字符串作为 Java Exception 消息 可以使用 getMessage 方法来获取这个错误消息

z SQLstate 字符串 该字符串遵循 XOPEN 的 SQLstate 标准 在 XOPEN 的 SQL 标 准中描述该字符串的值 可以使用getSQLState 方法来获取该字符串

z 错误代码 由数据库厂商提供的错误代码 是一个整数值 可以使用 getErrorCode 方法来获取该代码

z 与下一个错误的链接 有时 程序运行过程中产生的错误不止一个 JDBC 提供 一个错误链来保存所有产生的错误信息 可以使用getNextException 方法来获 取下一个保存错误信息的SQLException 对象

1 类定义

public class SQLException extends java.lang.Exception { } 2 方法定义

1 SQLException

public SQLException String reason String SQLState int VendorCode 其中参数意义分别如下

reason 例外的详细描述字符串 SQLState 例外对应的 XOPEN 代码



VendorCode 数据库提供商指定的错误代码

该方法使用指定的参数构造一个SQLException 对象 public SQLException String reason String SQLState

该 方 法 使 用 指 定 的 错 误 描 述 信 息 字 符 串 和 对 应 的 SQLState 代 码 创 建 一 个 SQLException 对象

public SQLException String reason

该方法只使用指定的错误原因字符串创建一个SQLException 对象 public SQLException

该方法用于创建一个不包含任何描述的SQLException 对象

该方法用于创建一个不包含任何描述的SQLException 对象

在文檔中 JDBC API 数据库编程实作教程 (頁 122-131)