JavaTM Platform
Standard Ed. 6

java.sql
接口 SQLOutput

所有已知实现类:
SQLOutputImpl

public interface SQLOutput

用于将用户定义类型的属性写回数据库的输出流。此接口(仅用于自定义映射关系)供应用程序使用,程序员永远不能直接调用其方法。

将实现接口 SQLData 的类的对象作为参数传递给 SQL 语句时,JDBC 驱动程序将调用方法 SQLData.getSQLType 来确定要传递到数据库的 SQL 数据的种类。然后,驱动程序创建 SQLOutput 的实例并将其传递给方法 SQLData.writeSQL。方法 writeSQL 依次调用适当的 SQLOutput writer 方法(writeBooleanwriteCharacterStream 等),将数据作为 SQL 用户定义类型的表示形式从 SQLData 对象写入 SQLOutput 输出流。

从以下版本开始:
1.2

方法摘要
 void writeArray(Array x)
          将 SQL ARRAY 值写入流中。
 void writeAsciiStream(InputStream x)
          将下一个属性作为 ASCII 字符流写入流中。
 void writeBigDecimal(BigDecimal x)
          将下一个属性作为 java.math.BigDecimal 对象写入流中。
 void writeBinaryStream(InputStream x)
          将下一个属性作为未解释字节流写入流中。
 void writeBlob(Blob x)
          将 SQL BLOB 值写入流中。
 void writeBoolean(boolean x)
          将下一个属性作为 Java boolean 值写入流。
 void writeByte(byte x)
          将下一个属性作为 Java byte 值写入流中。
 void writeBytes(byte[] x)
          将下一个属性作为字节数组写入流中。
 void writeCharacterStream(Reader x)
          将下一个属性作为 Unicode 字符的流写入流中。
 void writeClob(Clob x)
          将 SQL CLOB 值写入流中。
 void writeDate(Date x)
          将下一个属性作为 java.sql.Date 对象写入流中。
 void writeDouble(double x)
          将下一个属性作为 Java double 值写入流中。
 void writeFloat(float x)
          将下一个属性作为 Java float 值写入流中。
 void writeInt(int x)
          将下一个属性作为 Java int 值写入流中。
 void writeLong(long x)
          将下一个属性作为 Java long 值写入流中。
 void writeNClob(NClob x)
          将 SQL NCLOB 值写入流中。
 void writeNString(String x)
          将下一个属性以 Java 编程语言中 String 的形式写入流中。
 void writeObject(SQLData x)
          将给定 SQLData 对象中包含的数据写入流中。
 void writeRef(Ref x)
          将 SQL REF 值写入流中。
 void writeRowId(RowId x)
          将 SQL ROWID 值写入流中。
 void writeShort(short x)
          将下一个属性作为 Java short 值写入流中。
 void writeSQLXML(SQLXML x)
          将 SQL XML 值写入流中。
 void writeString(String x)
          将下一个属性作为 Java 编程语言中的 String 写入流中。
 void writeStruct(Struct x)
          将 SQL 结构类型值写入流中。
 void writeTime(Time x)
          将下一个属性作为 java.sql.Time 对象写入流中。
 void writeTimestamp(Timestamp x)
          将下一个属性作为 java.sql.Timestamp 对象写入流中。
 void writeURL(URL x)
          将 SQL DATALINK 值写入流中。
 

方法详细信息

writeString

void writeString(String x)
                 throws SQLException
将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeBoolean

void writeBoolean(boolean x)
                  throws SQLException
将下一个属性作为 Java boolean 值写入流。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeByte

void writeByte(byte x)
               throws SQLException
将下一个属性作为 Java byte 值写入流中。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeShort

void writeShort(short x)
                throws SQLException
将下一个属性作为 Java short 值写入流中。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeInt

void writeInt(int x)
              throws SQLException
将下一个属性作为 Java int 值写入流中。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeLong

void writeLong(long x)
               throws SQLException
将下一个属性作为 Java long 值写入流中。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeFloat

void writeFloat(float x)
                throws SQLException
将下一个属性作为 Java float 值写入流中。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeDouble

void writeDouble(double x)
                 throws SQLException
将下一个属性作为 Java double 值写入流中。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeBigDecimal

void writeBigDecimal(BigDecimal x)
                     throws SQLException
将下一个属性作为 java.math.BigDecimal 对象写入流中。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeBytes

void writeBytes(byte[] x)
                throws SQLException
将下一个属性作为字节数组写入流中。将下一个属性作为 Java 编程语言中的 String 写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeDate

void writeDate(Date x)
               throws SQLException
将下一个属性作为 java.sql.Date 对象写入流中。将下一个属性作为 Java 编程语言中的 java.sql.Date 对象写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeTime

void writeTime(Time x)
               throws SQLException
将下一个属性作为 java.sql.Time 对象写入流中。将下一个属性作为 Java 编程语言中的 java.sql.Date 对象写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeTimestamp

void writeTimestamp(Timestamp x)
                    throws SQLException
将下一个属性作为 java.sql.Timestamp 对象写入流中。将下一个属性作为 Java 编程语言中的 java.sql.Date 对象写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeCharacterStream

void writeCharacterStream(Reader x)
                          throws SQLException
将下一个属性作为 Unicode 字符的流写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeAsciiStream

void writeAsciiStream(InputStream x)
                      throws SQLException
将下一个属性作为 ASCII 字符流写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeBinaryStream

void writeBinaryStream(InputStream x)
                       throws SQLException
将下一个属性作为未解释字节流写入流中。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeObject

void writeObject(SQLData x)
                 throws SQLException
将给定 SQLData 对象中包含的数据写入流中。当 SQLData 对象为 null 时,此方法将 SQL NULL 写入流中。否则,它将调用给定对象的 SQLData.writeSQL 方法,该方法将对象的属性写入流中。方法 SQLData.writeSQ 的实现调用适当的 SQLOutput writer 方法,依次写入对象的每个属性。从 SQLInput 输入流读取属性和将属性写入 SQLOutput 输出流都必须按照在用户定义类型的 SQL 定义中将它们列出的顺序进行。

参数:
x - 表示 SQL 结构或不同类型的数据的对象
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeRef

void writeRef(Ref x)
              throws SQLException
将 SQL REF 值写入流中。

参数:
x - 表示 SQL 的数据的 Ref 对象 REF value
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeBlob

void writeBlob(Blob x)
               throws SQLException
将 SQL BLOB 值写入流中。

参数:
x - 表示 SQL BLOB 值的数据的 Blob 对象
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeClob

void writeClob(Clob x)
               throws SQLException
将 SQL CLOB 值写入流中。

参数:
x - 表示 SQL CLOB 值的数据的 Clob 对象
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeStruct

void writeStruct(Struct x)
                 throws SQLException
将 SQL 结构类型值写入流中。

参数:
x - 表示 SQL 结构类型的数据的 Struct 对象
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeArray

void writeArray(Array x)
                throws SQLException
将 SQL ARRAY 值写入流中。

参数:
x - 表示 SQL ARRAY 类型的数据的 Array 对象
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

writeURL

void writeURL(URL x)
              throws SQLException
将 SQL DATALINK 值写入流中。

参数:
x - 表示 SQL DATALINK 类型的数据的 java.net.URL 对象
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4

writeNString

void writeNString(String x)
                  throws SQLException
将下一个属性以 Java 编程语言中 String 的形式写入流中。在将该属性发送给流时,驱动程序将其转换为 SQL NCHARNVARCHARLONGNVARCHAR 值(具体取决于该参数相对于驱动程序在 NVARCHAR 值上的限制的大小)。

参数:
x - 传递给数据库的值
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.6

writeNClob

void writeNClob(NClob x)
                throws SQLException
将 SQL NCLOB 值写入流中。

参数:
x - 表示 SQL NCLOB 值数据的 NClob 对象
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.6

writeRowId

void writeRowId(RowId x)
                throws SQLException
将 SQL ROWID 值写入流中。

参数:
x - 表示 SQL ROWID 值的数据的 RowId 对象
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.6

writeSQLXML

void writeSQLXML(SQLXML x)
                 throws SQLException
将 SQL XML 值写入流中。

参数:
x - 表示 SQL XML 值数据的 SQLXML 对象
抛出:
SQLException - 如果发生数据库访问错误,如果没有为 SQLXML 对象关闭 java.xml.transform.ResultWriterOutputStream,或者在处理 XML 值的过程中发生错误。异常的 getCause 方法可以提供更详细的异常信息,例如,如果该流不包含有效的 XML。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.6

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策