📄 jdbcresultset.java
字号:
return null;
}
return new AsciiStringInputStream(s);
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* as a stream of two-byte Unicode characters. The first byte is
* the high byte; the second byte is the low byte.
*
* The value can then be read in chunks from the
* stream. This method is particularly
* suitable for retrieving large <code>LONGVARCHAR</code>values. The
* JDBC driver will do any necessary conversion from the database
* format into Unicode.
*
* <P><B>Note:</B> All the data in the returned stream must be
* read prior to getting the value of any other column. The next
* call to a getter method implicitly closes the stream.
* Also, a stream may return <code>0</code> when the method
* <code>InputStream.available</code>
* is called, whether there is data available or not. <p>
* <!-- end generic documentation -->
*
* <!-- start release-specific documentation -->
* <div class="ReleaseSpecificDocumentation">
* <h3>HSQLDB-Specific Information:</h3> <p>
*
* The limitation noted above does not apply to HSQLDB.<p>
*
* Up to and including 1.6.1, getUnicodeStream (and getAsciiStream)
* both simply returned a byte stream constructed from the
* raw {@link #getBytes(int) getBytes} representation.
*
* Starting with 1.7.0, this has been corrected to comply with the
* java.sql specification.
*
* When the column is of type CHAR and its variations, it requires no
* conversion since it is represented internally already as
* Java Strings. When the column is not of type CHAR and its variations,
* the returned stream is based on a conversion to the
* Java <code>String</code> representation of the value. In either case,
* the obtained stream is always equivalent to a stream of
* bytes from the value's String representation, with high-byte first.
* </div>
* <!-- end release-specific documentation -->
*
* @param columnIndex the first column is 1, the second is 2, ...
* @return a Java input stream that delivers the database column value
* as a stream of two-byte Unicode characters;
* if the value is SQL <code>NULL</code>, the value returned is
* <code>null</code>
* @exception SQLException if a database access error occurs
* @deprecated use <code>getCharacterStream</code> in place of
* <code>getUnicodeStream</code>
*/
//#ifdef DEPRECATEDJDBC
public java.io.InputStream getUnicodeStream(int columnIndex)
throws SQLException {
String s = getString(columnIndex);
if (s == null) {
return null;
}
return new StringInputStream(s);
}
//#endif
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as a binary stream of
* uninterpreted bytes. The value can then be read in chunks from the
* stream. This method is particularly
* suitable for retrieving large <code>LONGVARBINARY</code> values.
*
* <P><B>Note:</B> All the data in the returned stream must be
* read prior to getting the value of any other column. The next
* call to a getter method implicitly closes the stream. Also, a
* stream may return <code>0</code> when the method
* <code>InputStream.available</code>
* is called whether there is data available or not. <p>
* <!-- end generic documentation -->
*
* @param columnIndex the first column is 1, the second is 2, ...
* @return a Java input stream that delivers the database column value
* as a stream of uninterpreted bytes;
* if the value is SQL <code>NULL</code>, the value returned is
* <code>null</code>
* @exception SQLException if a database access error occurs
*/
// fredt@users 20020215 - patch 485704 by boucherb@users
public java.io.InputStream getBinaryStream(int columnIndex)
throws SQLException {
byte[] b = getBytes(columnIndex);
return wasNull() ? null
: new ByteArrayInputStream(b);
}
//======================================================================
// Methods for accessing results by column name
//======================================================================
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* a <code>String</code> in the Java programming language. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>null</code>
* @exception SQLException if a database access error occurs
*/
public String getString(String columnName) throws SQLException {
return getString(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* a <code>boolean</code> in the Java programming language. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>false</code>
* @exception SQLException if a database access error occurs
*/
public boolean getBoolean(String columnName) throws SQLException {
return getBoolean(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* a <code>byte</code> in the Java programming language. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>0</code>
* @exception SQLException if a database access error occurs
*/
public byte getByte(String columnName) throws SQLException {
return getByte(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* a <code>short</code> in the Java programming language. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>0</code>
* @exception SQLException if a database access error occurs
*/
public short getShort(String columnName) throws SQLException {
return getShort(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* an <code>int</code> in the Java programming language. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>0</code>
* @exception SQLException if a database access error occurs
*/
public int getInt(String columnName) throws SQLException {
return getInt(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* a <code>long</code> in the Java programming language. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>0</code>
* @exception SQLException if a database access error occurs
*/
public long getLong(String columnName) throws SQLException {
return getLong(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* a <code>float</code> in the Java programming language. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>0</code>
* @exception SQLException if a database access error occurs
*/
public float getFloat(String columnName) throws SQLException {
return getFloat(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* a <code>double</code> in the Java programming language. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>0</code>
* @exception SQLException if a database access error occurs
*/
public double getDouble(String columnName) throws SQLException {
return getDouble(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as a
* <code>java.math.BigDecimal</code> in the Java programming language.<p>
* <!-- end generic documentation -->
*
* <!-- start release-specific documentation -->
* <div class="ReleaseSpecificDocumentation">
* <h3>HSQLDB-Specific Information:</h3> <p>
*
* Beginning with 1.7.0, HSQLDB converts the result and sets the scale
* with BigDecimal.ROUND_HALF_DOWN.
* </div>
* <!-- end release-specific documentation -->
*
* @param columnName the SQL name of the column
* @param scale the number of digits to the right of the decimal point
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>null</code>
* @exception SQLException if a database access error occurs
* @deprecated by java.sun.com as of JDK 1.2
*/
//#ifdef DEPRECATEDJDBC
public BigDecimal getBigDecimal(String columnName,
int scale) throws SQLException {
return getBigDecimal(findColumn(columnName), scale);
}
//#endif
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as
* a <code>byte</code> array in the Java programming language.
* The bytes represent the raw values returned by the driver. <p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>null</code>
* @exception SQLException if a database access error occurs
*/
public byte[] getBytes(String columnName) throws SQLException {
return getBytes(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
* Retrieves the value of the designated column in the current row
* of this <code>ResultSet</code> object as a
* <code>java.sql.Date</code> object in the Java programming language.<p>
* <!-- end generic documentation -->
*
* @param columnName the SQL name of the column
* @return the column value; if the value is SQL <code>NULL</code>, the
* value returned is <code>null</code>
* @exception SQLException if a database access error occurs
*/
public Date getDate(String columnName) throws SQLException {
return getDate(findColumn(columnName));
}
/**
* <!-- start generic documentation -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -