summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/flat
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2006-04-19 12:16:36 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2006-04-19 12:16:36 +0000
commitd4f13567bb9d19480f83ac50805eacc62e1d0c20 (patch)
tree14c4f896b00d245c5bb74ff463e3c51a7c97855f /connectivity/source/drivers/flat
parent6ebb817ae97d742b7d81a6b6b14aa8bd0ef5ca55 (diff)
INTEGRATION: CWS oj17 (1.51.46); FILE MERGED
2006/03/10 08:56:27 oj 1.51.46.1: #131099# check row length
Diffstat (limited to 'connectivity/source/drivers/flat')
-rw-r--r--connectivity/source/drivers/flat/ETable.cxx23
1 files changed, 12 insertions, 11 deletions
diff --git a/connectivity/source/drivers/flat/ETable.cxx b/connectivity/source/drivers/flat/ETable.cxx
index aa438cf33a4b..47741cb6ef19 100644
--- a/connectivity/source/drivers/flat/ETable.cxx
+++ b/connectivity/source/drivers/flat/ETable.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: ETable.cxx,v $
*
- * $Revision: 1.52 $
+ * $Revision: 1.53 $
*
- * last change: $Author: vg $ $Date: 2006-04-07 13:11:36 $
+ * last change: $Author: hr $ $Date: 2006-04-19 13:16:36 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -561,12 +561,13 @@ sal_Bool OFlatTable::fetchRow(OValueRefRow& _rRow,const OSQLColumns & _rCols,sal
xub_StrLen nStartPos = 0;
String aStr;
OSQLColumns::const_iterator aIter = _rCols.begin();
- for (sal_Int32 i = 0; aIter != _rCols.end();++aIter, ++i)
+ OSQLColumns::const_iterator aEnd = _rCols.end();
+ for (sal_Int32 i = 1; aIter != aEnd && i < _rRow->size();++aIter, i++)
{
m_aCurrentLine.GetTokenSpecial(aStr,nStartPos,pConnection->getFieldDelimiter(),pConnection->getStringDelimiter());
if (aStr.Len() == 0)
- (*_rRow)[i+1]->setNull();
+ (*_rRow)[i]->setNull();
else
{
// Laengen je nach Datentyp:
@@ -600,18 +601,18 @@ sal_Bool OFlatTable::fetchRow(OValueRefRow& _rRow,const OSQLColumns & _rCols,sal
switch(nType)
{
case DataType::DATE:
- *(*_rRow)[i+1] = ::dbtools::DBTypeConversion::toDouble(::dbtools::DBTypeConversion::toDate(nRes,aDate));
+ *(*_rRow)[i] = ::dbtools::DBTypeConversion::toDouble(::dbtools::DBTypeConversion::toDate(nRes,aDate));
break;
case DataType::TIMESTAMP:
- *(*_rRow)[i+1] = ::dbtools::DBTypeConversion::toDouble(::dbtools::DBTypeConversion::toDateTime(nRes,aDate));
+ *(*_rRow)[i] = ::dbtools::DBTypeConversion::toDouble(::dbtools::DBTypeConversion::toDateTime(nRes,aDate));
break;
default:
- *(*_rRow)[i+1] = ::dbtools::DBTypeConversion::toDouble(::dbtools::DBTypeConversion::toTime(nRes));
+ *(*_rRow)[i] = ::dbtools::DBTypeConversion::toDouble(::dbtools::DBTypeConversion::toTime(nRes));
}
}
catch(Exception&)
{
- (*_rRow)[i+1]->setNull();
+ (*_rRow)[i]->setNull();
}
} break;
case DataType::DOUBLE:
@@ -645,15 +646,15 @@ sal_Bool OFlatTable::fetchRow(OValueRefRow& _rRow,const OSQLColumns & _rCols,sal
// #99178# OJ
if ( DataType::DECIMAL == nType || DataType::NUMERIC == nType )
- *(*_rRow)[i+1] = ORowSetValue(String::CreateFromDouble(nVal));
+ *(*_rRow)[i] = ORowSetValue(String::CreateFromDouble(nVal));
else
- *(*_rRow)[i+1] = nVal;
+ *(*_rRow)[i] = nVal;
} break;
default:
{
// Wert als String in Variable der Row uebernehmen
- *(*_rRow)[i+1] = ORowSetValue(aStr);
+ *(*_rRow)[i] = ORowSetValue(aStr);
}
break;
}