public interface SQLOutput
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.
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. |
default void |
writeObject(Object x,
SQLType targetSqlType)
Writes to the stream the data contained in the given object.
|
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. |
void writeString(String x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeBoolean(boolean x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeByte(byte x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeShort(short x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeInt(int x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeLong(long x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeFloat(float x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeDouble(double x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeBigDecimal(BigDecimal x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeBytes(byte[] x) throws SQLException
String
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeDate(Date x) throws SQLException
java.sql.Date
object
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeTime(Time x) throws SQLException
java.sql.Date
object
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeTimestamp(Timestamp x) throws SQLException
java.sql.Date
object
in the Java programming language.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeCharacterStream(Reader x) throws SQLException
x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeAsciiStream(InputStream x) throws SQLException
x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeBinaryStream(InputStream x) throws SQLException
x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeObject(SQLData x) throws SQLException
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.writeSQL
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.x
- the object representing data of an SQL structured or
distinct typeSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeRef(Ref x) throws SQLException
REF
value to the stream.x
- a Ref
object representing data of an SQL
REF
valueSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeBlob(Blob x) throws SQLException
BLOB
value to the stream.x
- a Blob
object representing data of an SQL
BLOB
valueSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeClob(Clob x) throws SQLException
CLOB
value to the stream.x
- a Clob
object representing data of an SQL
CLOB
valueSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeStruct(Struct x) throws SQLException
x
- a Struct
object representing data of an SQL
structured typeSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeArray(Array x) throws SQLException
ARRAY
value to the stream.x
- an Array
object representing data of an SQL
ARRAY
typeSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeURL(URL x) throws SQLException
DATALINK
value to the stream.x
- a java.net.URL
object representing the data
of SQL DATALINK typeSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeNString(String x) throws SQLException
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.x
- the value to pass to the databaseSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeNClob(NClob x) throws SQLException
NCLOB
value to the stream.x
- a NClob
object representing data of an SQL
NCLOB
valueSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeRowId(RowId x) throws SQLException
ROWID
value to the stream.x
- a RowId
object representing data of an SQL
ROWID
valueSQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodvoid writeSQLXML(SQLXML x) throws SQLException
XML
value to the stream.x
- a SQLXML
object representing data of an SQL
XML
valueSQLException
- 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 methoddefault void writeObject(Object x, SQLType targetSqlType) throws SQLException
When the object
is null
, this
method writes an SQL NULL
to the stream.
If the object has a custom mapping (is of a class implementing the
interface SQLData
),
the JDBC driver should call the method SQLData.writeSQL
to
write it to the SQL data stream.
If, on the other hand, the object is of a class implementing
Ref
, Blob
, Clob
, NClob
,
Struct
, java.net.URL
,
or Array
, the driver should pass it to the database as a
value of the corresponding SQL type.
The default implementation will throw SQLFeatureNotSupportedException
x
- the object containing the input parameter valuetargetSqlType
- the SQL type to be sent to the database.SQLException
- if a database access error occurs or
if the Java Object specified by x is an InputStream
or Reader object and the value of the scale parameter is less
than zeroSQLFeatureNotSupportedException
- if
the JDBC driver does not support this data typeJDBCType
,
SQLType
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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.