try { odaStatement.setColumnsProjection( this.projectedFields ); } catch ( DataException e ) {  }
odaStatement.setColumnsProjection( this.projectedFields );
    public IPreparedDSQuery prepare() throws DataException    {        if ( odaStatement != null )            throw new DataException( ResourceConstants.QUERY_HAS_PREPARED );        odaStatement = dataSource.prepareStatement( queryText, queryType );                // Add custom properties        addProperties();                // Add parameter hints. This step must be done before odaStatement.setColumnsProjection()        // for some jdbc driver need to carry out a query execution before the metadata can be achieved        // and only when the Parameters are successfully set the query execution can succeed.        addParameterHints();        // Ordering is important for the following operations. Column hints should be defined        // after custom fields are declared (since hints may be given to those custom fields).        // Column projection comes last because it needs hints and custom column information        addCustomFields( odaStatement );        addColumnHints( odaStatement );                // TODO: do more invesigation        try		{			odaStatement.setColumnsProjection( this.projectedFields );		}		catch ( DataException e )		{			//Do nothing		}                // If ODA can provide result metadata, get it now        try        {            resultMetadata = odaStatement.getMetaData();        }        catch ( DataException e )        {            // Assume metadata not available at prepare time; ignore the exception        	resultMetadata = null;        }                return this;    }