summaryrefslogtreecommitdiff
path: root/connectivity/source
diff options
context:
space:
mode:
authorOcke Janssen [oj] <Ocke.Janssen@sun.com>2010-01-22 10:31:43 +0100
committerOcke Janssen [oj] <Ocke.Janssen@sun.com>2010-01-22 10:31:43 +0100
commit328b5e748a287669b4b894dc7ac5b2227ecc2e99 (patch)
treec6d15c3e100ba97443b9f26d0aeafd84ebfac70b /connectivity/source
parent02f6eae3aacc973f98fce99219ee74ddb75f2c9a (diff)
dba33f: #i108548# handle Label property from parse column and rowsetcolumn
Diffstat (limited to 'connectivity/source')
-rw-r--r--connectivity/source/parse/PColumn.cxx16
1 files changed, 14 insertions, 2 deletions
diff --git a/connectivity/source/parse/PColumn.cxx b/connectivity/source/parse/PColumn.cxx
index 7c61411e7f29..0134c1a3aab3 100644
--- a/connectivity/source/parse/PColumn.cxx
+++ b/connectivity/source/parse/PColumn.cxx
@@ -45,6 +45,7 @@ using namespace connectivity::parse;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::sdbc;
using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::container;
// -------------------------------------------------------------------------
OParseColumn::OParseColumn(const Reference<XPropertySet>& _xColumn,sal_Bool _bCase)
@@ -103,14 +104,25 @@ OParseColumn::OParseColumn( const ::rtl::OUString& _Name,
// -------------------------------------------------------------------------
::vos::ORef< OSQLColumns > OParseColumn::createColumnsForResultSet( const Reference< XResultSetMetaData >& _rxResMetaData,
- const Reference< XDatabaseMetaData >& _rxDBMetaData )
+ const Reference< XDatabaseMetaData >& _rxDBMetaData,const Reference< XNameAccess>& i_xQueryColumns )
{
sal_Int32 nColumnCount = _rxResMetaData->getColumnCount();
::vos::ORef< OSQLColumns > aReturn( new OSQLColumns ); aReturn->get().reserve( nColumnCount );
StringMap aColumnMap;
for ( sal_Int32 i = 1; i <= nColumnCount; ++i )
- aReturn->get().push_back( createColumnForResultSet( _rxResMetaData, _rxDBMetaData, i ,aColumnMap) );
+ {
+ OParseColumn* pColumn = createColumnForResultSet( _rxResMetaData, _rxDBMetaData, i,aColumnMap );
+ aReturn->get().push_back( pColumn );
+ if ( i_xQueryColumns.is() && i_xQueryColumns->hasByName(pColumn->getRealName()) )
+ {
+ Reference<XPropertySet> xColumn(i_xQueryColumns->getByName(pColumn->getRealName()),UNO_QUERY_THROW);
+ ::rtl::OUString sLabel;
+ xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_LABEL)) >>= sLabel;
+ if ( sLabel.getLength() )
+ pColumn->setLabel(sLabel);
+ }
+ }
return aReturn;
}