- All Known Implementing Classes:
SQLOutputImpl
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.
- Since:
- 1.2
-
Method Summary
Modifier and Type Method Description void
writeArray(Array x)
Writes an SQLARRAY
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 SQLBLOB
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 SQLCLOB
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 SQLNCLOB
value to the stream.void
writeNString(String x)
Writes the next attribute to the stream as aString
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 givenSQLData
object.void
writeRef(Ref x)
Writes an SQLREF
value to the stream.void
writeRowId(RowId x)
Writes an SQLROWID
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 SQLXML
value to the stream.void
writeString(String x)
Writes the next attribute to the stream as aString
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 SQLDATALINK
value to the stream.
-
Method Details
-
writeString
Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeBoolean
Writes the next attribute to the stream as a Java boolean. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeByte
Writes the next attribute to the stream as a Java byte. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeShort
Writes the next attribute to the stream as a Java short. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeInt
Writes the next attribute to the stream as a Java int. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeLong
Writes the next attribute to the stream as a Java long. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeFloat
Writes the next attribute to the stream as a Java float. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeDouble
Writes the next attribute to the stream as a Java double. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeBigDecimal
Writes the next attribute to the stream as a java.math.BigDecimal object. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeBytes
Writes the next attribute to the stream as an array of bytes. Writes the next attribute to the stream as aString
in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeDate
Writes the next attribute to the stream as a java.sql.Date object. Writes the next attribute to the stream as ajava.sql.Date
object in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeTime
Writes the next attribute to the stream as a java.sql.Time object. Writes the next attribute to the stream as ajava.sql.Date
object in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeTimestamp
Writes the next attribute to the stream as a java.sql.Timestamp object. Writes the next attribute to the stream as ajava.sql.Date
object in the Java programming language.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeCharacterStream
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 occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeAsciiStream
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 occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeBinaryStream
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 occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeObject
Writes to the stream the data contained in the givenSQLData
object. When theSQLData
object isnull
, this method writes an SQLNULL
to the stream. Otherwise, it calls theSQLData.writeSQL
method of the given object, which writes the object's attributes to the stream. The implementation of the methodSQLData.writeSQL
calls the appropriateSQLOutput
writer method(s) for writing each of the object's attributes in order. The attributes must be read from anSQLInput
input stream and written to anSQLOutput
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 occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeRef
Writes an SQLREF
value to the stream.- Parameters:
x
- aRef
object representing data of an SQLREF
value- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeBlob
Writes an SQLBLOB
value to the stream.- Parameters:
x
- aBlob
object representing data of an SQLBLOB
value- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeClob
Writes an SQLCLOB
value to the stream.- Parameters:
x
- aClob
object representing data of an SQLCLOB
value- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeStruct
Writes an SQL structured type value to the stream.- Parameters:
x
- aStruct
object representing data of an SQL structured type- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeArray
Writes an SQLARRAY
value to the stream.- Parameters:
x
- anArray
object representing data of an SQLARRAY
type- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.2
-
writeURL
Writes a SQLDATALINK
value to the stream.- Parameters:
x
- ajava.net.URL
object representing the data of SQL DATALINK type- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.4
-
writeNString
Writes the next attribute to the stream as aString
in the Java programming language. The driver converts this to a SQLNCHAR
orNVARCHAR
orLONGNVARCHAR
value (depending on the argument's size relative to the driver's limits onNVARCHAR
values) when it sends it to the stream.- Parameters:
x
- the value to pass to the database- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.6
-
writeNClob
Writes an SQLNCLOB
value to the stream.- Parameters:
x
- aNClob
object representing data of an SQLNCLOB
value- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.6
-
writeRowId
Writes an SQLROWID
value to the stream.- Parameters:
x
- aRowId
object representing data of an SQLROWID
value- Throws:
SQLException
- if a database access error occursSQLFeatureNotSupportedException
- if the JDBC driver does not support this method- Since:
- 1.6
-
writeSQLXML
Writes an SQLXML
value to the stream.- Parameters:
x
- aSQLXML
object representing data of an SQLXML
value- Throws:
SQLException
- if a database access error occurs, thejava.xml.transform.Result
,Writer
orOutputStream
has not been closed for theSQLXML
object or if there is an error processing the XML value. ThegetCause
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
-
writeObject
Writes to the stream the data contained in the given object. The object will be converted to the specified targetSqlType before being sent to the stream.When the
object
isnull
, this method writes an SQLNULL
to the stream.If the object has a custom mapping (is of a class implementing the interface
SQLData
), the JDBC driver should call the methodSQLData.writeSQL
to write it to the SQL data stream. If, on the other hand, the object is of a class implementingRef
,Blob
,Clob
,NClob
,Struct
,java.net.URL
, orArray
, the driver should pass it to the database as a value of the corresponding SQL type.The default implementation will throw
SQLFeatureNotSupportedException
- Parameters:
x
- the object containing the input parameter valuetargetSqlType
- the SQL type to be sent to the database.- Throws:
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 type- Since:
- 1.8
- See Also:
JDBCType
,SQLType
-