diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-08-02 16:03:35 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-08-02 16:03:35 +0000 |
commit | 2c18fa3f753b6a55d9b02577fd92388b4413aeea (patch) | |
tree | b8a555d09af9af7fd6f576cf628b0cb55caf6ba9 /connectivity/source/drivers/file/FStatement.cxx | |
parent | 3b744b6f090b6d2ed6e57dd4e72de0e1a513a099 (diff) |
INTEGRATION: CWS insight01 (1.30.14); FILE MERGED
2004/05/28 11:16:09 oj 1.30.14.2: RESYNC: (1.30-1.31); FILE MERGED
2004/04/21 07:50:45 oj 1.30.14.1: #i27832# check if name is known in select list when not known in table
Diffstat (limited to 'connectivity/source/drivers/file/FStatement.cxx')
-rw-r--r-- | connectivity/source/drivers/file/FStatement.cxx | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/connectivity/source/drivers/file/FStatement.cxx b/connectivity/source/drivers/file/FStatement.cxx index 651a2b029d9b..7de6b8e2f205 100644 --- a/connectivity/source/drivers/file/FStatement.cxx +++ b/connectivity/source/drivers/file/FStatement.cxx @@ -2,9 +2,9 @@ * * $RCSfile: FStatement.cxx,v $ * - * $Revision: 1.31 $ + * $Revision: 1.32 $ * - * last change: $Author: obo $ $Date: 2004-03-15 12:46:56 $ + * last change: $Author: hr $ $Date: 2004-08-02 17:03:35 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -487,7 +487,19 @@ void OStatement_Base::setOrderbyColumn( OSQLParseNode* pColumnRef, return; // Alles geprueft und wir haben den Namen der Column. // Die wievielte Column ist das? - m_aOrderbyColumnNumber.push_back(xColLocate->findColumn(aColumnName)); + try + { + m_aOrderbyColumnNumber.push_back(xColLocate->findColumn(aColumnName)); + } + catch(Exception) + { + ::vos::ORef<OSQLColumns> aSelectColumns = m_aSQLIterator.getSelectColumns(); + ::comphelper::UStringMixEqual aCase; + OSQLColumns::const_iterator aFind = ::connectivity::find(aSelectColumns->begin(),aSelectColumns->end(),aColumnName,aCase); + if ( aFind == aSelectColumns->end() ) + throw SQLException(); + m_aOrderbyColumnNumber.push_back((aFind - aSelectColumns->begin()) + 1); + } // Ascending or Descending? m_aOrderbyAscending.push_back((SQL_ISTOKEN(pAscendingDescending,DESC)) ? SQL_DESC : SQL_ASC); |