diff options
author | Oliver Bolte <obo@openoffice.org> | 2006-07-10 13:37:58 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2006-07-10 13:37:58 +0000 |
commit | a779349caf1dcbecde40f626eb7c4adfc4ae9c13 (patch) | |
tree | a0ed5f306e648239dd4966df97b00d181602df42 /connectivity/source/parse | |
parent | c76cf168a9b3de95dda1a77b636b2789c236f668 (diff) |
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
Diffstat (limited to 'connectivity/source/parse')
-rw-r--r-- | connectivity/source/parse/PColumn.cxx | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/connectivity/source/parse/PColumn.cxx b/connectivity/source/parse/PColumn.cxx index e6a583aed756..f7f3b5a9b1e2 100644 --- a/connectivity/source/parse/PColumn.cxx +++ b/connectivity/source/parse/PColumn.cxx @@ -4,9 +4,9 @@ * * $RCSfile: PColumn.cxx,v $ * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * - * last change: $Author: hr $ $Date: 2006-06-20 02:07:27 $ + * last change: $Author: obo $ $Date: 2006-07-10 14:37:58 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -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 connectivity; 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 @@ OParseColumn::OParseColumn(const Reference<XPropertySet>& _xColumn,sal_Bool { construct(); } + // ------------------------------------------------------------------------- OParseColumn::OParseColumn( const ::rtl::OUString& _Name, const ::rtl::OUString& _TypeName, @@ -97,6 +103,46 @@ OParseColumn::OParseColumn( const ::rtl::OUString& _Name, { 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() { |