Package net.sourceforge.jtds.jdbc
Class JtdsCallableStatement
java.lang.Object
net.sourceforge.jtds.jdbc.JtdsStatement
net.sourceforge.jtds.jdbc.JtdsPreparedStatement
net.sourceforge.jtds.jdbc.JtdsCallableStatement
- All Implemented Interfaces:
AutoCloseable,CallableStatement,PreparedStatement,Statement,Wrapper
jTDS implementation of the java.sql.CallableStatement interface.
Implementation note:
- This class is a simple subclass of PreparedStatement and mainly adds support for setting parameters.
- The class supports named parameters in a similar way to the patch supplied by Tommy Sandstrom to the original jTDS code.
- Version:
- $Id: JtdsCallableStatement.java,v 1.23.2.4 2009-12-30 11:37:21 ickzon Exp $
- Author:
- Mike Hutchinson
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanLast parameter retrieved was null.Fields inherited from class net.sourceforge.jtds.jdbc.JtdsPreparedStatement
handles, parameters, paramMetaData, procName, sql, sqlWordFields inherited from class net.sourceforge.jtds.jdbc.JtdsStatement
batchValues, BOOLEAN, CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, colMetaData, connection, currentResult, cursorName, DATALINK, DEFAULT_FETCH_SIZE, escapeProcessing, EXECUTE_FAILED, fetchDirection, fetchSize, GENKEYCOL, genKeyResultSet, KEEP_CURRENT_RESULT, maxFieldSize, maxRows, messages, NO_GENERATED_KEYS, openResultSets, queryTimeout, resultQueue, resultSetConcurrency, resultSetType, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO, tdsFields inherited from interface java.sql.Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO -
Constructor Summary
ConstructorsConstructorDescriptionJtdsCallableStatement(JtdsConnection connection, String sql, int resultSetType, int concurrency) Construct a CallableStatement object. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidCheck that this statement is still open.voidprotected SQLExceptionexecuteMSBatch(int size, int executeSize, ArrayList counts) Execute the SQL batch on a MS server.protected SQLExceptionexecuteSybaseBatch(int size, int executeSize, ArrayList counts) Execute the SQL batch on a Sybase server.(package private) final intfindParameter(String name, boolean set) Find a parameter by name.getArray(int parameterIndex) getBigDecimal(int parameterIndex) getBigDecimal(int parameterIndex, int scale) getBigDecimal(String parameterName) getBlob(int parameterIndex) booleangetBoolean(int parameterIndex) booleangetBoolean(String parameterName) bytegetByte(int parameterIndex) bytebyte[]getBytes(int parameterIndex) byte[]getCharacterStream(int parameterIndex) getCharacterStream(String parameterName) getClob(int parameterIndex) getDate(int parameterIndex) doublegetDouble(int parameterIndex) doublefloatgetFloat(int parameterIndex) floatintgetInt(int parameterIndex) intlonggetLong(int parameterIndex) longgetNCharacterStream(int parameterIndex) getNCharacterStream(String parameterName) getNClob(int parameterIndex) getNString(int parameterIndex) getNString(String parameterName) getObject(int parameterIndex) <T> T<T> Tprotected ObjectgetOutputValue(int parameterIndex) Retrieve the value of an output parameter.getRef(int parameterIndex) getRowId(int parameterIndex) shortgetShort(int parameterIndex) shortgetSQLXML(int parameterIndex) getString(int parameterIndex) getTime(int parameterIndex) getTimestamp(int parameterIndex) getTimestamp(int parameterIndex, Calendar cal) getTimestamp(String parameterName) getTimestamp(String parameterName, Calendar cal) getURL(int parameterIndex) booleanvoidregisterOutParameter(int parameterIndex, int sqlType) voidregisterOutParameter(int parameterIndex, int sqlType, int scale) voidregisterOutParameter(int parameterIndex, int sqlType, String typeName) voidregisterOutParameter(String parameterName, int sqlType) voidregisterOutParameter(String parameterName, int sqlType, int scale) voidregisterOutParameter(String parameterName, int sqlType, String typeName) voidsetAsciiStream(String parameterName, InputStream x) voidsetAsciiStream(String parameterName, InputStream x, int length) voidsetAsciiStream(String parameterName, InputStream x, long length) voidsetBigDecimal(String parameterName, BigDecimal x) voidsetBinaryStream(String parameterName, InputStream x) voidsetBinaryStream(String parameterName, InputStream x, int length) voidsetBinaryStream(String parameterName, InputStream x, long length) voidsetBlob(String parameterName, InputStream inputStream) voidsetBlob(String parameterName, InputStream inputStream, long length) voidvoidsetBoolean(String parameterName, boolean x) voidvoidvoidsetCharacterStream(String parameterName, Reader reader) voidsetCharacterStream(String parameterName, Reader reader, int length) voidsetCharacterStream(String parameterName, Reader reader, long length) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidsetNCharacterStream(String parameterName, Reader value) voidsetNCharacterStream(String parameterName, Reader value, long length) voidvoidvoidvoidsetNString(String parameterName, String value) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidsetTimestamp(String parameterName, Timestamp x) voidsetTimestamp(String parameterName, Timestamp x, Calendar cal) voidbooleanwasNull()Methods inherited from class net.sourceforge.jtds.jdbc.JtdsPreparedStatement
addBatch, addBatch, clearParameters, close, execute, execute, execute, execute, execute, executeQuery, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getMetaData, getParameter, getParameterMetaData, normalizeCall, notSupported, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setColMetaData, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObjectBase, setParameter, setParamMetaData, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL, toStringMethods inherited from class net.sourceforge.jtds.jdbc.JtdsStatement
addWarning, cacheResults, cancel, checkCursorException, clearBatch, clearWarnings, closeAllResultSets, closeCurrentResultSet, executeBatch, executeSQL, executeSQLQuery, finalize, getConnection, getDefaultFetchSize, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMessages, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getTds, getUpdateCount, getWarnings, isClosed, isPoolable, isWrapperFor, notImplemented, reset, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, unwrap, useCursorMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.sql.CallableStatement
registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setObject, setObjectMethods inherited from interface java.sql.PreparedStatement
addBatch, clearParameters, execute, executeLargeUpdate, executeQuery, executeUpdate, getMetaData, getParameterMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURLMethods inherited from interface java.sql.Statement
addBatch, cancel, clearBatch, clearWarnings, close, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeoutMethods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
-
Field Details
-
paramWasNull
protected boolean paramWasNullLast parameter retrieved was null.
-
-
Constructor Details
-
JtdsCallableStatement
JtdsCallableStatement(JtdsConnection connection, String sql, int resultSetType, int concurrency) throws SQLException Construct a CallableStatement object.- Parameters:
connection- The connection owning this statement.sql- The SQL statement specifying the procedure to call.resultSetType- The result set type eg FORWARD_ONLY.concurrency- The result set concurrency eg READ_ONLY.- Throws:
SQLException
-
-
Method Details
-
findParameter
Find a parameter by name.- Parameters:
name- The name of the parameter to locate.set- True if function is called from a set / register method.- Returns:
- The parameter index as an
int. - Throws:
SQLException
-
getOutputValue
Retrieve the value of an output parameter.- Parameters:
parameterIndex- the ordinal position of the parameter- Returns:
- the parameter value as an
Object - Throws:
SQLException- if the parameter has not been set
-
checkOpen
Check that this statement is still open.- Overrides:
checkOpenin classJtdsPreparedStatement- Throws:
SQLException- if statement closed.
-
executeMSBatch
protected SQLException executeMSBatch(int size, int executeSize, ArrayList counts) throws SQLException Execute the SQL batch on a MS server.- Overrides:
executeMSBatchin classJtdsPreparedStatement- Parameters:
size- the total size of the batch.executeSize- the maximum number of statements to send in one request.counts- the returned update counts.- Returns:
- Chained exceptions linked to a
SQLException. - Throws:
SQLException
-
executeSybaseBatch
protected SQLException executeSybaseBatch(int size, int executeSize, ArrayList counts) throws SQLException Execute the SQL batch on a Sybase server. For the rare case of CallableStatement batches each statement is executed individually. This ensures that problems with the server reading into the middle of a statement are avoided. See bug report [1374518] for more details.- Overrides:
executeSybaseBatchin classJtdsPreparedStatement- Parameters:
size- the total size of the batchexecuteSize- the maximum number of statements to send in one request (ignored for this version of the method as only one statement will be sent at a time)counts- the returned update counts- Returns:
- chained exceptions linked to a
SQLException - Throws:
SQLException- if a serious error occurs during execution
-
wasNull
- Specified by:
wasNullin interfaceCallableStatement- Throws:
SQLException
-
getByte
- Specified by:
getBytein interfaceCallableStatement- Throws:
SQLException
-
getDouble
- Specified by:
getDoublein interfaceCallableStatement- Throws:
SQLException
-
getFloat
- Specified by:
getFloatin interfaceCallableStatement- Throws:
SQLException
-
getInt
- Specified by:
getIntin interfaceCallableStatement- Throws:
SQLException
-
getLong
- Specified by:
getLongin interfaceCallableStatement- Throws:
SQLException
-
getShort
- Specified by:
getShortin interfaceCallableStatement- Throws:
SQLException
-
getBoolean
- Specified by:
getBooleanin interfaceCallableStatement- Throws:
SQLException
-
getBytes
- Specified by:
getBytesin interfaceCallableStatement- Throws:
SQLException
-
registerOutParameter
- Specified by:
registerOutParameterin interfaceCallableStatement- Throws:
SQLException
-
registerOutParameter
- Specified by:
registerOutParameterin interfaceCallableStatement- Throws:
SQLException
-
getObject
- Specified by:
getObjectin interfaceCallableStatement- Throws:
SQLException
-
getString
- Specified by:
getStringin interfaceCallableStatement- Throws:
SQLException
-
registerOutParameter
public void registerOutParameter(int parameterIndex, int sqlType, String typeName) throws SQLException - Specified by:
registerOutParameterin interfaceCallableStatement- Throws:
SQLException
-
getByte
- Specified by:
getBytein interfaceCallableStatement- Throws:
SQLException
-
getDouble
- Specified by:
getDoublein interfaceCallableStatement- Throws:
SQLException
-
getFloat
- Specified by:
getFloatin interfaceCallableStatement- Throws:
SQLException
-
getInt
- Specified by:
getIntin interfaceCallableStatement- Throws:
SQLException
-
getLong
- Specified by:
getLongin interfaceCallableStatement- Throws:
SQLException
-
getShort
- Specified by:
getShortin interfaceCallableStatement- Throws:
SQLException
-
getBoolean
- Specified by:
getBooleanin interfaceCallableStatement- Throws:
SQLException
-
getBytes
- Specified by:
getBytesin interfaceCallableStatement- Throws:
SQLException
-
setByte
- Specified by:
setBytein interfaceCallableStatement- Throws:
SQLException
-
setDouble
- Specified by:
setDoublein interfaceCallableStatement- Throws:
SQLException
-
setFloat
- Specified by:
setFloatin interfaceCallableStatement- Throws:
SQLException
-
registerOutParameter
- Specified by:
registerOutParameterin interfaceCallableStatement- Throws:
SQLException
-
setInt
- Specified by:
setIntin interfaceCallableStatement- Throws:
SQLException
-
setNull
- Specified by:
setNullin interfaceCallableStatement- Throws:
SQLException
-
registerOutParameter
- Specified by:
registerOutParameterin interfaceCallableStatement- Throws:
SQLException
-
setLong
- Specified by:
setLongin interfaceCallableStatement- Throws:
SQLException
-
setShort
- Specified by:
setShortin interfaceCallableStatement- Throws:
SQLException
-
setBoolean
- Specified by:
setBooleanin interfaceCallableStatement- Throws:
SQLException
-
setBytes
- Specified by:
setBytesin interfaceCallableStatement- Throws:
SQLException
-
getBigDecimal
- Specified by:
getBigDecimalin interfaceCallableStatement- Throws:
SQLException
-
getBigDecimal
- Specified by:
getBigDecimalin interfaceCallableStatement- Throws:
SQLException
-
getURL
- Specified by:
getURLin interfaceCallableStatement- Throws:
SQLException
-
getArray
- Specified by:
getArrayin interfaceCallableStatement- Throws:
SQLException
-
getBlob
- Specified by:
getBlobin interfaceCallableStatement- Throws:
SQLException
-
getClob
- Specified by:
getClobin interfaceCallableStatement- Throws:
SQLException
-
getDate
- Specified by:
getDatein interfaceCallableStatement- Throws:
SQLException
-
getRef
- Specified by:
getRefin interfaceCallableStatement- Throws:
SQLException
-
getTime
- Specified by:
getTimein interfaceCallableStatement- Throws:
SQLException
-
getTimestamp
- Specified by:
getTimestampin interfaceCallableStatement- Throws:
SQLException
-
setAsciiStream
- Specified by:
setAsciiStreamin interfaceCallableStatement- Throws:
SQLException
-
setBinaryStream
- Specified by:
setBinaryStreamin interfaceCallableStatement- Throws:
SQLException
-
setCharacterStream
- Specified by:
setCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
getObject
- Specified by:
getObjectin interfaceCallableStatement- Throws:
SQLException
-
setObject
- Specified by:
setObjectin interfaceCallableStatement- Throws:
SQLException
-
setObject
- Specified by:
setObjectin interfaceCallableStatement- Throws:
SQLException
-
setObject
public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException - Specified by:
setObjectin interfaceCallableStatement- Throws:
SQLException
-
getObject
- Specified by:
getObjectin interfaceCallableStatement- Throws:
SQLException
-
getString
- Specified by:
getStringin interfaceCallableStatement- Throws:
SQLException
-
registerOutParameter
public void registerOutParameter(String parameterName, int sqlType, String typeName) throws SQLException - Specified by:
registerOutParameterin interfaceCallableStatement- Throws:
SQLException
-
setNull
- Specified by:
setNullin interfaceCallableStatement- Throws:
SQLException
-
setString
- Specified by:
setStringin interfaceCallableStatement- Throws:
SQLException
-
getBigDecimal
- Specified by:
getBigDecimalin interfaceCallableStatement- Throws:
SQLException
-
setBigDecimal
- Specified by:
setBigDecimalin interfaceCallableStatement- Throws:
SQLException
-
getURL
- Specified by:
getURLin interfaceCallableStatement- Throws:
SQLException
-
setURL
- Specified by:
setURLin interfaceCallableStatement- Throws:
SQLException
-
getArray
- Specified by:
getArrayin interfaceCallableStatement- Throws:
SQLException
-
getBlob
- Specified by:
getBlobin interfaceCallableStatement- Throws:
SQLException
-
getClob
- Specified by:
getClobin interfaceCallableStatement- Throws:
SQLException
-
getDate
- Specified by:
getDatein interfaceCallableStatement- Throws:
SQLException
-
setDate
- Specified by:
setDatein interfaceCallableStatement- Throws:
SQLException
-
getDate
- Specified by:
getDatein interfaceCallableStatement- Throws:
SQLException
-
getRef
- Specified by:
getRefin interfaceCallableStatement- Throws:
SQLException
-
getTime
- Specified by:
getTimein interfaceCallableStatement- Throws:
SQLException
-
setTime
- Specified by:
setTimein interfaceCallableStatement- Throws:
SQLException
-
getTime
- Specified by:
getTimein interfaceCallableStatement- Throws:
SQLException
-
getTimestamp
- Specified by:
getTimestampin interfaceCallableStatement- Throws:
SQLException
-
setTimestamp
- Specified by:
setTimestampin interfaceCallableStatement- Throws:
SQLException
-
getTimestamp
- Specified by:
getTimestampin interfaceCallableStatement- Throws:
SQLException
-
getObject
- Specified by:
getObjectin interfaceCallableStatement- Throws:
SQLException
-
getDate
- Specified by:
getDatein interfaceCallableStatement- Throws:
SQLException
-
getTime
- Specified by:
getTimein interfaceCallableStatement- Throws:
SQLException
-
getTimestamp
- Specified by:
getTimestampin interfaceCallableStatement- Throws:
SQLException
-
setDate
- Specified by:
setDatein interfaceCallableStatement- Throws:
SQLException
-
setTime
- Specified by:
setTimein interfaceCallableStatement- Throws:
SQLException
-
setTimestamp
- Specified by:
setTimestampin interfaceCallableStatement- Throws:
SQLException
-
getCharacterStream
- Specified by:
getCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
getCharacterStream
- Specified by:
getCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
getNCharacterStream
- Specified by:
getNCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
getNCharacterStream
- Specified by:
getNCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
getNClob
- Specified by:
getNClobin interfaceCallableStatement- Throws:
SQLException
-
getNClob
- Specified by:
getNClobin interfaceCallableStatement- Throws:
SQLException
-
getNString
- Specified by:
getNStringin interfaceCallableStatement- Throws:
SQLException
-
getNString
- Specified by:
getNStringin interfaceCallableStatement- Throws:
SQLException
-
getRowId
- Specified by:
getRowIdin interfaceCallableStatement- Throws:
SQLException
-
getRowId
- Specified by:
getRowIdin interfaceCallableStatement- Throws:
SQLException
-
getSQLXML
- Specified by:
getSQLXMLin interfaceCallableStatement- Throws:
SQLException
-
getSQLXML
- Specified by:
getSQLXMLin interfaceCallableStatement- Throws:
SQLException
-
setAsciiStream
- Specified by:
setAsciiStreamin interfaceCallableStatement- Throws:
SQLException
-
setAsciiStream
- Specified by:
setAsciiStreamin interfaceCallableStatement- Throws:
SQLException
-
setBinaryStream
- Specified by:
setBinaryStreamin interfaceCallableStatement- Throws:
SQLException
-
setBinaryStream
- Specified by:
setBinaryStreamin interfaceCallableStatement- Throws:
SQLException
-
setBlob
- Specified by:
setBlobin interfaceCallableStatement- Throws:
SQLException
-
setBlob
- Specified by:
setBlobin interfaceCallableStatement- Throws:
SQLException
-
setBlob
- Specified by:
setBlobin interfaceCallableStatement- Throws:
SQLException
-
setCharacterStream
- Specified by:
setCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
setCharacterStream
public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException - Specified by:
setCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
setClob
- Specified by:
setClobin interfaceCallableStatement- Throws:
SQLException
-
setClob
- Specified by:
setClobin interfaceCallableStatement- Throws:
SQLException
-
setClob
- Specified by:
setClobin interfaceCallableStatement- Throws:
SQLException
-
setNCharacterStream
- Specified by:
setNCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
setNCharacterStream
public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException - Specified by:
setNCharacterStreamin interfaceCallableStatement- Throws:
SQLException
-
setNClob
- Specified by:
setNClobin interfaceCallableStatement- Throws:
SQLException
-
setNClob
- Specified by:
setNClobin interfaceCallableStatement- Throws:
SQLException
-
setNClob
- Specified by:
setNClobin interfaceCallableStatement- Throws:
SQLException
-
setNString
- Specified by:
setNStringin interfaceCallableStatement- Throws:
SQLException
-
setRowId
- Specified by:
setRowIdin interfaceCallableStatement- Throws:
SQLException
-
setSQLXML
- Specified by:
setSQLXMLin interfaceCallableStatement- Throws:
SQLException
-
closeOnCompletion
- Specified by:
closeOnCompletionin interfaceStatement- Overrides:
closeOnCompletionin classJtdsStatement- Throws:
SQLException
-
isCloseOnCompletion
- Specified by:
isCloseOnCompletionin interfaceStatement- Overrides:
isCloseOnCompletionin classJtdsStatement- Throws:
SQLException
-
getObject
- Specified by:
getObjectin interfaceCallableStatement- Throws:
SQLException
-
getObject
- Specified by:
getObjectin interfaceCallableStatement- Throws:
SQLException
-