User: obo Date: 2006/07/10 07:38:01 Modified: dba/connectivity/source/parse/PColumn.cxx
Log: INTEGRATION: CWS qiq (1.11.104); FILE MERGED 2006/06/27 15:09:32 fs 1.11.104.2: RESYNC: (1.11-1.12); FILE MERGED 2006/06/06 13:57:26 fs 1.11.104.1: #i51143# +createColumnsForResultSet / +createColumnForResultSet File Changes: Directory: /dba/connectivity/source/parse/ ========================================== File [changed]: PColumn.cxx Url: http://dba.openoffice.org/source/browse/dba/connectivity/source/parse/PColumn.cxx?r1=1.12&r2=1.13 Delta lines: +46 -0 -------------------- --- PColumn.cxx 20 Jun 2006 02:07:27 -0000 1.12 +++ PColumn.cxx 10 Jul 2006 14:37:58 -0000 1.13 @@ -36,6 +36,9 @@ #ifndef _CONNECTIVITY_SDBCX_COLUMN_HXX_ #include "connectivity/PColumn.hxx" #endif +#ifndef _CONNECTIVITY_DBTOOLS_HXX_ +#include "connectivity/dbtools.hxx" +#endif #ifndef CONNECTIVITY_CONNECTION_HXX #include "TConnection.hxx" #endif @@ -48,7 +51,9 @@ using namespace dbtools; using namespace connectivity::parse; using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::sdbc; using namespace ::com::sun::star::beans; + // ------------------------------------------------------------------------- OParseColumn::OParseColumn(const Reference<XPropertySet>& _xColumn,sal_Bool _bCase) : connectivity::sdbcx::OColumn( getString(_xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))) @@ -69,6 +74,7 @@ { construct(); } + // ------------------------------------------------------------------------- OParseColumn::OParseColumn( const ::rtl::OUString& _Name, const ::rtl::OUString& _TypeName, @@ -97,6 +103,46 @@ { construct(); } + +// ------------------------------------------------------------------------- +::vos::ORef< OSQLColumns > OParseColumn::createColumnsForResultSet( const Reference< XResultSetMetaData >& _rxResMetaData, + const Reference< XDatabaseMetaData >& _rxDBMetaData ) +{ + sal_Int32 nColumnCount = _rxResMetaData->getColumnCount(); + ::vos::ORef< OSQLColumns > aReturn( new OSQLColumns ); aReturn->reserve( nColumnCount ); + + for ( sal_Int32 i = 1; i <= nColumnCount; ++i ) + aReturn->push_back( createColumnForResultSet( _rxResMetaData, _rxDBMetaData, i ) ); + + return aReturn; +} + +// ------------------------------------------------------------------------- +OParseColumn* OParseColumn::createColumnForResultSet( const Reference< XResultSetMetaData >& _rxResMetaData, + const Reference< XDatabaseMetaData >& _rxDBMetaData, sal_Int32 _nColumnPos ) +{ + OParseColumn* pColumn = new OParseColumn( + _rxResMetaData->getColumnName( _nColumnPos ), + _rxResMetaData->getColumnTypeName( _nColumnPos ), + ::rtl::OUString(), + _rxResMetaData->isNullable( _nColumnPos ), + _rxResMetaData->getPrecision( _nColumnPos ), + _rxResMetaData->getScale( _nColumnPos ), + _rxResMetaData->getColumnType( _nColumnPos ), + _rxResMetaData->isAutoIncrement( _nColumnPos ), + _rxResMetaData->isCurrency( _nColumnPos ), + _rxDBMetaData->storesMixedCaseQuotedIdentifiers() + ); + pColumn->setTableName( ::dbtools::composeTableName( _rxDBMetaData, + _rxResMetaData->getCatalogName( _nColumnPos ), + _rxResMetaData->getSchemaName( _nColumnPos ), + _rxResMetaData->getTableName( _nColumnPos ), + sal_False, + eComplete + ) ); + return pColumn; +} + // ------------------------------------------------------------------------- OParseColumn::~OParseColumn() { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
