summaryrefslogtreecommitdiff
path: root/connectivity/source/parse
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2006-07-10 13:37:58 +0000
committerOliver Bolte <obo@openoffice.org>2006-07-10 13:37:58 +0000
commita779349caf1dcbecde40f626eb7c4adfc4ae9c13 (patch)
treea0ed5f306e648239dd4966df97b00d181602df42 /connectivity/source/parse
parentc76cf168a9b3de95dda1a77b636b2789c236f668 (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.cxx50
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()
{