java.sql

## Interface SQLOutput

- All Known Implementing Classes:
    SQLOutputImpl

      public interface SQLOutput

  The output stream for writing the attributes of a user-defined type back to the database. This interface, used only for custom mapping, is used by the driver, and its methods are never directly invoked by a programmer.

  When an object of a class implementing the interface `SQLData` is passed as an argument to an SQL statement, the JDBC driver calls the method `SQLData.getSQLType` to determine the kind of SQL datum being passed to the database. The driver then creates an instance of `SQLOutput` and passes it to the method `SQLData.writeSQL`. The method `writeSQL` in turn calls the appropriate `SQLOutput` writer methods `writeBoolean`, `writeCharacterStream`, and so on) to write data from the `SQLData` object to the `SQLOutput` output stream as the representation of an SQL user-defined type.

  Since:
    1.2

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `writeArray(Array x)` Writes an SQL `ARRAY` value to the stream.
    `void` | `writeAsciiStream(InputStream x)` Writes the next attribute to the stream as a stream of ASCII characters.
    `void` | `writeBigDecimal(BigDecimal x)` Writes the next attribute to the stream as a java.math.BigDecimal object.
    `void` | `writeBinaryStream(InputStream x)` Writes the next attribute to the stream as a stream of uninterpreted bytes.
    `void` | `writeBlob(Blob x)` Writes an SQL `BLOB` value to the stream.
    `void` | `writeBoolean(boolean x)` Writes the next attribute to the stream as a Java boolean.
    `void` | `writeByte(byte x)` Writes the next attribute to the stream as a Java byte.
    `void` | `writeBytes(byte[] x)` Writes the next attribute to the stream as an array of bytes.
    `void` | `writeCharacterStream(Reader x)` Writes the next attribute to the stream as a stream of Unicode characters.
    `void` | `writeClob(Clob x)` Writes an SQL `CLOB` value to the stream.
    `void` | `writeDate(Date x)` Writes the next attribute to the stream as a java.sql.Date object.
    `void` | `writeDouble(double x)` Writes the next attribute to the stream as a Java double.
    `void` | `writeFloat(float x)` Writes the next attribute to the stream as a Java float.
    `void` | `writeInt(int x)` Writes the next attribute to the stream as a Java int.
    `void` | `writeLong(long x)` Writes the next attribute to the stream as a Java long.
    `void` | `writeNClob(NClob x)` Writes an SQL `NCLOB` value to the stream.
    `void` | `writeNString(String x)` Writes the next attribute to the stream as a `String` in the Java programming language.
    `void` | `writeObject(SQLData x)` Writes to the stream the data contained in the given `SQLData` object.
    `void` | `writeRef(Ref x)` Writes an SQL `REF` value to the stream.
    `void` | `writeRowId(RowId x)` Writes an SQL `ROWID` value to the stream.
    `void` | `writeShort(short x)` Writes the next attribute to the stream as a Java short.
    `void` | `writeSQLXML(SQLXML x)` Writes an SQL `XML` value to the stream.
    `void` | `writeString(String x)` Writes the next attribute to the stream as a `String` in the Java programming language.
    `void` | `writeStruct(Struct x)` Writes an SQL structured type value to the stream.
    `void` | `writeTime(Time x)` Writes the next attribute to the stream as a java.sql.Time object.
    `void` | `writeTimestamp(Timestamp x)` Writes the next attribute to the stream as a java.sql.Timestamp object.
    `void` | `writeURL(URL x)` Writes a SQL `DATALINK` value to the stream.

- - ### Method Detail

    - #### writeString

          void writeString(String x)
                           throws SQLException

      Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeBoolean

          void writeBoolean(boolean x)
                            throws SQLException

      Writes the next attribute to the stream as a Java boolean. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeByte

          void writeByte(byte x)
                         throws SQLException

      Writes the next attribute to the stream as a Java byte. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeShort

          void writeShort(short x)
                          throws SQLException

      Writes the next attribute to the stream as a Java short. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeInt

          void writeInt(int x)
                        throws SQLException

      Writes the next attribute to the stream as a Java int. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeLong

          void writeLong(long x)
                         throws SQLException

      Writes the next attribute to the stream as a Java long. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeFloat

          void writeFloat(float x)
                          throws SQLException

      Writes the next attribute to the stream as a Java float. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeDouble

          void writeDouble(double x)
                           throws SQLException

      Writes the next attribute to the stream as a Java double. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeBigDecimal

          void writeBigDecimal(BigDecimal x)
                               throws SQLException

      Writes the next attribute to the stream as a java.math.BigDecimal object. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeBytes

          void writeBytes(byte[] x)
                          throws SQLException

      Writes the next attribute to the stream as an array of bytes. Writes the next attribute to the stream as a `String` in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeDate

          void writeDate(Date x)
                         throws SQLException

      Writes the next attribute to the stream as a java.sql.Date object. Writes the next attribute to the stream as a `java.sql.Date` object in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeTime

          void writeTime(Time x)
                         throws SQLException

      Writes the next attribute to the stream as a java.sql.Time object. Writes the next attribute to the stream as a `java.sql.Date` object in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeTimestamp

          void writeTimestamp(Timestamp x)
                              throws SQLException

      Writes the next attribute to the stream as a java.sql.Timestamp object. Writes the next attribute to the stream as a `java.sql.Date` object in the Java programming language.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeCharacterStream

          void writeCharacterStream(Reader x)
                                    throws SQLException

      Writes the next attribute to the stream as a stream of Unicode characters.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeAsciiStream

          void writeAsciiStream(InputStream x)
                                throws SQLException

      Writes the next attribute to the stream as a stream of ASCII characters.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeBinaryStream

          void writeBinaryStream(InputStream x)
                                 throws SQLException

      Writes the next attribute to the stream as a stream of uninterpreted bytes.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeObject

          void writeObject(SQLData x)
                           throws SQLException

      Writes to the stream the data contained in the given `SQLData` object. When the `SQLData` object is `null`, this method writes an SQL `NULL` to the stream. Otherwise, it calls the `SQLData.writeSQL` method of the given object, which writes the object's attributes to the stream. The implementation of the method `SQLData.writeSQ` calls the appropriate `SQLOutput` writer method(s) for writing each of the object's attributes in order. The attributes must be read from an `SQLInput` input stream and written to an `SQLOutput` output stream in the same order in which they were listed in the SQL definition of the user-defined type.
      Parameters:
        `x` - the object representing data of an SQL structured or distinct type
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeRef

          void writeRef(Ref x)
                        throws SQLException

      Writes an SQL `REF` value to the stream.
      Parameters:
        `x` - a `Ref` object representing data of an SQL `REF` value
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeBlob

          void writeBlob(Blob x)
                         throws SQLException

      Writes an SQL `BLOB` value to the stream.
      Parameters:
        `x` - a `Blob` object representing data of an SQL `BLOB` value
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeClob

          void writeClob(Clob x)
                         throws SQLException

      Writes an SQL `CLOB` value to the stream.
      Parameters:
        `x` - a `Clob` object representing data of an SQL `CLOB` value
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeStruct

          void writeStruct(Struct x)
                           throws SQLException

      Writes an SQL structured type value to the stream.
      Parameters:
        `x` - a `Struct` object representing data of an SQL structured type
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeArray

          void writeArray(Array x)
                          throws SQLException

      Writes an SQL `ARRAY` value to the stream.
      Parameters:
        `x` - an `Array` object representing data of an SQL `ARRAY` type
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.2

    - #### writeURL

          void writeURL(URL x)
                        throws SQLException

      Writes a SQL `DATALINK` value to the stream.
      Parameters:
        `x` - a `java.net.URL` object representing the data of SQL DATALINK type
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.4

    - #### writeNString

          void writeNString(String x)
                            throws SQLException

      Writes the next attribute to the stream as a `String` in the Java programming language. The driver converts this to a SQL `NCHAR` or `NVARCHAR` or `LONGNVARCHAR` value (depending on the argument's size relative to the driver's limits on `NVARCHAR` values) when it sends it to the stream.
      Parameters:
        `x` - the value to pass to the database
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.6

    - #### writeNClob

          void writeNClob(NClob x)
                          throws SQLException

      Writes an SQL `NCLOB` value to the stream.
      Parameters:
        `x` - a `NClob` object representing data of an SQL `NCLOB` value
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.6

    - #### writeRowId

          void writeRowId(RowId x)
                          throws SQLException

      Writes an SQL `ROWID` value to the stream.
      Parameters:
        `x` - a `RowId` object representing data of an SQL `ROWID` value
      Throws:
        `SQLException` - if a database access error occurs
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.6

    - #### writeSQLXML

          void writeSQLXML(SQLXML x)
                           throws SQLException

      Writes an SQL `XML` value to the stream.
      Parameters:
        `x` - a `SQLXML` object representing data of an SQL `XML` value
      Throws:
        `SQLException` - if a database access error occurs, the `java.xml.transform.Result`, `Writer` or `OutputStream` has not been closed for the `SQLXML` object or if there is an error processing the XML value. The `getCause` method of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML.
        `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
      Since:
        1.6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.