[QGIS Commit] r11438 - trunk/qgis/src/providers/spatialite

svn_qgis at osgeo.org svn_qgis at osgeo.org
Wed Aug 19 11:02:46 EDT 2009


Author: jef
Date: 2009-08-19 11:02:46 -0400 (Wed, 19 Aug 2009)
New Revision: 11438

Modified:
   trunk/qgis/src/providers/spatialite/qgsspatialiteprovider.cpp
Log:
fix spatialite provider (fixes #1883 & 1884)

Modified: trunk/qgis/src/providers/spatialite/qgsspatialiteprovider.cpp
===================================================================
--- trunk/qgis/src/providers/spatialite/qgsspatialiteprovider.cpp	2009-08-19 14:34:43 UTC (rev 11437)
+++ trunk/qgis/src/providers/spatialite/qgsspatialiteprovider.cpp	2009-08-19 15:02:46 UTC (rev 11438)
@@ -269,7 +269,7 @@
         // iterate attributes
         bool fetched = false;
         int nAttr = 1;
-        for ( QgsAttributeList::const_iterator it = mAttributesToFetch.constBegin(); it != mAttributesToFetch.constEnd(); it++ )
+        for ( QgsAttributeList::const_iterator it = fetchAttributes.constBegin(); it != fetchAttributes.constEnd(); it++ )
         {
           if ( nAttr == ic )
           {
@@ -952,7 +952,7 @@
       {
         // binding a TEXT value
         QString txt = it->toString();
-        int len = txt.length();
+        int len = txt.toUtf8().length() + 1;
         char *vl = new char [len];
         strcpy( vl, txt.toUtf8().constData() );
         sqlite3_bind_text( stmt, ++ia, vl, len, SQLITE_TRANSIENT );
@@ -967,8 +967,11 @@
 
     // performing actual row insert
     ret = sqlite3_step( stmt );
+
     if ( ret == SQLITE_DONE || ret == SQLITE_ROW )
-      ;
+    {
+      numberFeatures++;
+    }
     else
     {
       // some unexpected error occurred
@@ -1054,7 +1057,9 @@
     // performing actual row deletion
     ret = sqlite3_step( stmt );
     if ( ret == SQLITE_DONE || ret == SQLITE_ROW )
-      ;
+    {
+      numberFeatures--;
+    }
     else
     {
       // some unexpected error occurred



More information about the QGIS-commit mailing list