diff --git a/src/providers/spatialite/qgsspatialiteprovider.cpp b/src/providers/spatialite/qgsspatialiteprovider.cpp index 8a82377a70..8bd93ea049 100644 --- a/src/providers/spatialite/qgsspatialiteprovider.cpp +++ b/src/providers/spatialite/qgsspatialiteprovider.cpp @@ -729,10 +729,15 @@ void QgsSpatiaLiteProvider::loadFieldsAbstractInterface( gaiaVectorLayerPtr lyr int ret = sqlite3_get_table( mSqliteHandle, sql.toUtf8().constData(), &results, &rows, &columns, &errMsg ); if ( ret == SQLITE_OK ) { + int realFieldIndex = 0; for ( int i = 1; i <= rows; i++ ) { QString name = QString::fromUtf8( results[( i * columns ) + 1] ); - insertDefaultValue( i - 1, QString::fromUtf8( results[( i * columns ) + 4] ) ); + + if ( name.toLower() == mGeometryColumn ) + continue; + + insertDefaultValue( realFieldIndex, QString::fromUtf8( results[( i * columns ) + 4] ) ); QString pk = results[( i * columns ) + 5]; QString type = results[( i * columns ) + 2]; @@ -762,6 +767,7 @@ void QgsSpatiaLiteProvider::loadFieldsAbstractInterface( gaiaVectorLayerPtr lyr else mPrimaryKey.clear(); mPrimaryKeyAttrs << i - 1; + realFieldIndex += 1; } }