summaryrefslogtreecommitdiff
path: root/dbaccess/source
diff options
context:
space:
mode:
authorOcke Janssen [oj] <Ocke.Janssen@sun.com>2010-01-08 10:16:37 +0100
committerOcke Janssen [oj] <Ocke.Janssen@sun.com>2010-01-08 10:16:37 +0100
commit58519fbb7255ca48701d3850f4038ca549e29b27 (patch)
tree64eaf46df1443e12f7e02b127795dca24cc03073 /dbaccess/source
parentb2cb11ec544a9441234cbc5424dc4f36a9e84048 (diff)
dba33e: #i108092# when value is null set NAN
Diffstat (limited to 'dbaccess/source')
-rw-r--r--dbaccess/source/core/misc/DatabaseDataProvider.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/dbaccess/source/core/misc/DatabaseDataProvider.cxx b/dbaccess/source/core/misc/DatabaseDataProvider.cxx
index b6aff3db3240..2cb2b29f8e87 100644
--- a/dbaccess/source/core/misc/DatabaseDataProvider.cxx
+++ b/dbaccess/source/core/misc/DatabaseDataProvider.cxx
@@ -37,6 +37,7 @@
#include <connectivity/FValue.hxx>
#include <connectivity/dbtools.hxx>
#include <rtl/ustrbuf.hxx>
+#include <rtl/math.hxx>
#include <com/sun/star/task/XInteractionHandler.hpp>
#include <com/sun/star/sdb/XCompletedExecution.hpp>
@@ -633,7 +634,14 @@ void DatabaseDataProvider::impl_fillInternalDataProvider_throw(sal_Bool _bHasCat
for (sal_Int32 j = _bHasCategories ? 2 : 1,i = 0; j <= nCount; ++j,++i)
{
aValue.fill(j,aColumnTypes[j-1],xRow);
- aRow.push_back(aValue.getDouble());
+ if ( aValue.isNull() )
+ {
+ double nValue;
+ ::rtl::math::setNan( &nValue );
+ aRow.push_back(nValue);
+ }
+ else
+ aRow.push_back(aValue.getDouble());
} // for (sal_Int32 j = 2,i = 0; j <= nCount; ++j,++i)
aDataValues.push_back(aRow);
} // while( xRes->next() && (!m_RowLimit || nRowCount < m_RowLimit) )