⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preparedstatement.java

📁 关系型数据库 Postgresql 6.5.2
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	 * Set a parameter to a java.sql.Time value.  The driver converts	 * this to a SQL TIME value when it sends it to the database.	 *	 * @param parameterIndex the first parameter is 1...));	 * @param x the parameter value	 * @exception SQLException if a database access error occurs	 */	public void setTime(int parameterIndex, Time x) throws SQLException	{		set(parameterIndex, "'" + x.toString() + "'");	}	/**	 * Set a parameter to a java.sql.Timestamp value.  The driver converts	 * this to a SQL TIMESTAMP value when it sends it to the database.	 *	 * @param parameterIndex the first parameter is 1...	 * @param x the parameter value	 * @exception SQLException if a database access error occurs	 */	public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException	{		set(parameterIndex, "'" + x.toString() + "'");	}	/**	 * When a very large ASCII value is input to a LONGVARCHAR parameter,	 * it may be more practical to send it via a java.io.InputStream.	 * JDBC will read the data from the stream as needed, until it reaches	 * end-of-file.  The JDBC driver will do any necessary conversion from	 * ASCII to the database char format.	 *	 * <P><B>Note:</B> This stream object can either be a standard Java	 * stream object or your own subclass that implements the standard	 * interface.	 *	 * @param parameterIndex the first parameter is 1...	 * @param x the parameter value	 * @param length the number of bytes in the stream	 * @exception SQLException if a database access error occurs	 */	public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException	{		setBinaryStream(parameterIndex, x, length);	}	/**	 * When a very large Unicode value is input to a LONGVARCHAR parameter,	 * it may be more practical to send it via a java.io.InputStream.	 * JDBC will read the data from the stream as needed, until it reaches	 * end-of-file.  The JDBC driver will do any necessary conversion from	 * UNICODE to the database char format.	 *	 * ** DEPRECIATED IN JDBC 2 **	 *	 * <P><B>Note:</B> This stream object can either be a standard Java	 * stream object or your own subclass that implements the standard	 * interface.	 *	 * @param parameterIndex the first parameter is 1...	 * @param x the parameter value	 * @exception SQLException if a database access error occurs	 * @deprecated	 */	public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException	{		setBinaryStream(parameterIndex, x, length);	}	/**	 * When a very large binary value is input to a LONGVARBINARY parameter,	 * it may be more practical to send it via a java.io.InputStream.	 * JDBC will read the data from the stream as needed, until it reaches	 * end-of-file.  	 *	 * <P><B>Note:</B> This stream object can either be a standard Java	 * stream object or your own subclass that implements the standard	 * interface.	 *	 * @param parameterIndex the first parameter is 1...	 * @param x the parameter value	 * @exception SQLException if a database access error occurs	 */	public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException	{		throw new PSQLException("postgresql.prep.is");	}	/**	 * In general, parameter values remain in force for repeated used of a	 * Statement.  Setting a parameter value automatically clears its	 * previous value.  However, in coms cases, it is useful to immediately	 * release the resources used by the current parameter values; this	 * can be done by calling clearParameters	 *	 * @exception SQLException if a database access error occurs	 */	public void clearParameters() throws SQLException	{		int i;		for (i = 0 ; i < inStrings.length ; i++)			inStrings[i] = null;	}	/**	 * Set the value of a parameter using an object; use the java.lang	 * equivalent objects for integral values.	 *	 * <P>The given Java object will be converted to the targetSqlType before	 * being sent to the database.	 *	 * <P>note that this method may be used to pass database-specific	 * abstract data types.  This is done by using a Driver-specific	 * Java type and using a targetSqlType of java.sql.Types.OTHER	 *	 * @param parameterIndex the first parameter is 1...	 * @param x the object containing the input parameter value	 * @param targetSqlType The SQL type to be send to the database	 * @param scale For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC	 *	types this is the number of digits after the decimal.  For 	 *	all other types this value will be ignored.	 * @exception SQLException if a database access error occurs	 */	public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException	{		switch (targetSqlType)		{			case Types.TINYINT:			case Types.SMALLINT:			case Types.INTEGER:			case Types.BIGINT:			case Types.REAL:			case Types.FLOAT:			case Types.DOUBLE:			case Types.DECIMAL:			case Types.NUMERIC:				if (x instanceof Boolean)					set(parameterIndex, ((Boolean)x).booleanValue() ? "1" : "0");				else					set(parameterIndex, x.toString());				break;			case Types.CHAR:			case Types.VARCHAR:			case Types.LONGVARCHAR:				setString(parameterIndex, x.toString());				break;			case Types.DATE:				setDate(parameterIndex, (java.sql.Date)x);				break;			case Types.TIME:				setTime(parameterIndex, (Time)x);				break;			case Types.TIMESTAMP:				setTimestamp(parameterIndex, (Timestamp)x);				break;			case Types.OTHER:				setString(parameterIndex, ((PGobject)x).getValue());				break;			default:				throw new PSQLException("postgresql.prep.type");		}	}	public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException	{		setObject(parameterIndex, x, targetSqlType, 0);	}	  /**   * This stores an Object into a parameter.   * <p>New for 6.4, if the object is not recognised, but it is   * Serializable, then the object is serialised using the   * postgresql.util.Serialize class.   */	public void setObject(int parameterIndex, Object x) throws SQLException	{		if (x instanceof String)			setString(parameterIndex, (String)x);		else if (x instanceof BigDecimal)			setBigDecimal(parameterIndex, (BigDecimal)x);		else if (x instanceof Short)			setShort(parameterIndex, ((Short)x).shortValue());		else if (x instanceof Integer)			setInt(parameterIndex, ((Integer)x).intValue());		else if (x instanceof Long)			setLong(parameterIndex, ((Long)x).longValue());		else if (x instanceof Float)			setFloat(parameterIndex, ((Float)x).floatValue());		else if (x instanceof Double)			setDouble(parameterIndex, ((Double)x).doubleValue());		else if (x instanceof byte[])			setBytes(parameterIndex, (byte[])x);		else if (x instanceof java.sql.Date)			setDate(parameterIndex, (java.sql.Date)x);		else if (x instanceof Time)			setTime(parameterIndex, (Time)x);		else if (x instanceof Timestamp)			setTimestamp(parameterIndex, (Timestamp)x);		else if (x instanceof Boolean)			setBoolean(parameterIndex, ((Boolean)x).booleanValue());		else if (x instanceof PGobject)			setString(parameterIndex, ((PGobject)x).getValue());		else			setLong(parameterIndex, connection.putObject(x));	}	/**	 * Some prepared statements return multiple results; the execute method	 * handles these complex statements as well as the simpler form of 	 * statements handled by executeQuery and executeUpdate	 *	 * @return true if the next result is a ResultSet; false if it is an	 *	update count or there are no more results	 * @exception SQLException if a database access error occurs	 */	public boolean execute() throws SQLException	{		StringBuffer s = new StringBuffer();		int i;		for (i = 0 ; i < inStrings.length ; ++i)		{			if (inStrings[i] == null)				throw new PSQLException("postgresql.prep.param",new Integer(i + 1));			s.append (templateStrings[i]);			s.append (inStrings[i]);		}		s.append(templateStrings[inStrings.length]);		return super.execute(s.toString()); 	// in Statement class	}	/**	 * Returns the SQL statement with the current template values	 * substituted.	 */	public String toString() {		StringBuffer s = new StringBuffer();		int i;		for (i = 0 ; i < inStrings.length ; ++i)		{			if (inStrings[i] == null)				s.append( '?' );			else				s.append (templateStrings[i]);			s.append (inStrings[i]);		}		s.append(templateStrings[inStrings.length]);		return s.toString();	}		// **************************************************************	//	END OF PUBLIC INTERFACE		// **************************************************************		/**	 * There are a lot of setXXX classes which all basically do	 * the same thing.  We need a method which actually does the	 * set for us.	 *	 * @param paramIndex the index into the inString	 * @param s a string to be stored	 * @exception SQLException if something goes wrong	 */	private void set(int paramIndex, String s) throws SQLException	{		if (paramIndex < 1 || paramIndex > inStrings.length)			throw new PSQLException("postgresql.prep.range");		inStrings[paramIndex - 1] = s;	}        // ** JDBC 2 Extensions **        public void addBatch() throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public java.sql.ResultSetMetaData getMetaData() throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setArray(int i,Array x) throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setBlob(int i,Blob x) throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setCharacterStream(int i,java.io.Reader x,int length) throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setClob(int i,Clob x) throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setNull(int i,int t,String s) throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setRef(int i,Ref x) throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setDate(int i,java.sql.Date d,java.util.Calendar cal) throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setTime(int i,Time t,java.util.Calendar cal) throws SQLException    {	throw postgresql.Driver.notImplemented();    }        public void setTimestamp(int i,Timestamp t,java.util.Calendar cal) throws SQLException    {	throw postgresql.Driver.notImplemented();    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -