summaryrefslogtreecommitdiff
path: root/java/sql/PreparedStatement.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/sql/PreparedStatement.java')
-rw-r--r--java/sql/PreparedStatement.java472
1 files changed, 472 insertions, 0 deletions
diff --git a/java/sql/PreparedStatement.java b/java/sql/PreparedStatement.java
new file mode 100644
index 000000000..02cf7eda5
--- /dev/null
+++ b/java/sql/PreparedStatement.java
@@ -0,0 +1,472 @@
+/*************************************************************************
+/* PreparedStatement.java -- Interface for pre-compiled statements.
+/*
+/* Copyright (c) 1999 Free Software Foundation, Inc.
+/* Written by Aaron M. Renn (arenn@urbanophile.com)
+/*
+/* This library is free software; you can redistribute it and/or modify
+/* it under the terms of the GNU Library General Public License as published
+/* by the Free Software Foundation, either version 2 of the License, or
+/* (at your option) any later verion.
+/*
+/* This library is distributed in the hope that it will be useful, but
+/* WITHOUT ANY WARRANTY; without even the implied warranty of
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/* GNU Library General Public License for more details.
+/*
+/* You should have received a copy of the GNU Library General Public License
+/* along with this library; if not, write to the Free Software Foundation
+/* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA
+/*************************************************************************/
+
+package java.sql;
+
+import java.io.InputStream;
+import java.io.Reader;
+import java.math.BigDecimal;
+import java.util.Calendar;
+
+/**
+ * This interface provides a mechanism for executing pre-compiled
+ * statements. This provides greater efficiency when calling the same
+ * statement multiple times. Parameters are allowed in a statement,
+ * providings for maximum reusability.
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ */
+public abstract interface PreparedStatement
+{
+
+/**
+ * This method populates the specified parameter with a SQL NULL value
+ * for the specified type.
+ *
+ * @param index The index of the parameter to set.
+ * @param type The SQL type identifier of the parameter from <code>Types</code>
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setNull(int index, int type) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method populates the specified parameter with a SQL NULL value
+ * for the specified type.
+ *
+ * @param index The index of the parameter to set.
+ * @param type The SQL type identifier of the parameter from <code>Types</code>
+ * @param name The name of the data type, for user defined types.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setNull(int index, int type, String name) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>boolean</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setBoolean(int index, boolean value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>byte</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setByte(int index, byte value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>short</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setShort(int index, short value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>int</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setInt(int index, int value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>long</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setLong(int index, long value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>float</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setFloat(int index, float value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>double</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setDouble(int index, double value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>String</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setString(int index, String value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>byte</code> array value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setBytes(int index, byte[] value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>java.sql.Date</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setDate(int index, java.sql.Date value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>java.sql.Date</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ * @param calendar The <code>Calendar</code> to use for timezone and locale.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setDate(int index, java.sql.Date value, Calendar calendar) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>java.sql.Time</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setTime(int index, java.sql.Time value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>java.sql.Time</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ * @param calendar The <code>Calendar</code> to use for timezone and locale.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setTime(int index, java.sql.Time value, Calendar calendar) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>java.sql.Timestamp</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setTimestamp(int index, java.sql.Timestamp value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>java.sql.Timestamp</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ * @param calendar The <code>Calendar</code> to use for timezone and locale.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setTimestamp(int index, java.sql.Timestamp value, Calendar calendar)
+ throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * ASCII <code>InputStream</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ * @param calendar The <code>Calendar</code> to use for timezone and locale.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setAsciiStream(int index, InputStream value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * Unicode UTF-8 <code>InputStream</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setUnicodeStream(int index, InputStream value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * binary <code>InputStream</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setBinaryStream(int index, InputStream value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * character <code>Reader</code> value.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setCharacterStream(int index, Reader value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>Ref</code> value. The default object type to SQL type mapping
+ * will be used.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setRef(int index, Ref value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>Blob</code> value. The default object type to SQL type mapping
+ * will be used.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setBlob(int index, Blob value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>Clob</code> value. The default object type to SQL type mapping
+ * will be used.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setClob(int index, Clob value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>Array</code> value. The default object type to SQL type mapping
+ * will be used.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setArray(int index, Array value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>Object</code> value. The default object type to SQL type mapping
+ * will be used.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+setObject(int index, Object value) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>Object</code> value. The specified SQL object type will be used.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ * @param type The SQL type to use for the parameter, from <code>Types</code>
+ *
+ * @exception SQLException If an error occurs.
+ *
+ * @see Types
+ */
+public abstract void
+setObject(int index, Object value, int type) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method sets the specified parameter from the given Java
+ * <code>Object</code> value. The specified SQL object type will be used.
+ *
+ * @param index The index of the parameter value to set.
+ * @param value The value of the parameter.
+ * @param type The SQL type to use for the parameter, from <code>Types</code>
+ * @param scale The scale of the value, for numeric values only.
+ *
+ * @exception SQLException If an error occurs.
+ *
+ * @see Types
+ */
+public abstract void
+setObject(int index, Object value, int type, int scale) throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method clears all of the input parameter that have been
+ * set on this statement.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract void
+clearParameters() throws SQLException;
+
+/*************************************************************************/
+
+/**
+ * This method returns meta data for the result set from this statement.
+ *
+ * @return Meta data for the result set from this statement.
+ *
+ * @exception SQLException If an error occurs.
+ */
+public abstract ResultSetMetaData
+getMetaData() throws SQLException;
+
+} // interface PreparedStatement
+