[QGIS-Developer] pyqgis: no update data into table sqlite !

Benjamin Jakimow benjamin.jakimow at geo.hu-berlin.de
Tue May 4 11:10:50 PDT 2021


You need to write t back to the feature, e.g. by

feat['assessment_investigator_actor'] = t

Greetings,

Benjamin

On 2021-05-04 19:59, Enzo Cocca wrote:

> Hi people:
> I'm trying to update an table sqlite not geometric but the update does 
> not take place.
> 
> this is my code:
> 
> def convert_table(self):
> cfg_rel_path = os.path.join(os.sep, 'HFF_DB_folder', 'config.cfg')
> file_path = '{}{}'.format(self.HOME, cfg_rel_path)
> conf = open(file_path, "r")
> con_sett = conf.read()
> conf.close()
> settings = Settings(con_sett)
> settings.set_configuration()
> if settings.SERVER == 'sqlite':
> sqliteDB_path = os.path.join(os.sep, 'HFF_DB_folder', 
> settings.DATABASE)
> db_file_path = '{}{}'.format(self.HOME, sqliteDB_path)
> uri = QgsDataSourceUri()
> uri.setDatabase(db_file_path)
> uri.setDataSource('','eamena_table', None,'')
> layerEamena=QgsVectorLayer(uri.uri(), 'eamena_table', 'spatialite')
> QgsProject.instance().addMapLayers([layerEamena], True)
> layer =  QgsProject.instance().mapLayersByName('eamena_table')[0]
> with edit(layer):
> for feat in layer.getFeatures():
> a=str(feat['assessment_investigator_actor'])
> if "[['" not in a and a!='NULL':
> t=a.replace(a[0],"[['"+a[0]).replace("|","'], 
> ['").replace(a[-1],a[-1]+"']]")
> layer.updateFeature(feat)
> QgsProject.instance().removeMapLayer(layer.id [1]())
> 
> If I print the results it's ok but into table doesn't update.
> Some one has some suggestions?
> 
> Best
> E
> --
> 
> Enzo Cocca PhD
> in "Science and Technology for Archaeology and Cultural Heritage"
> 
> ISMEO
> International Association of Mediterranean and Oriental Studies
> 
> mail: enzo.ccc at gmail.com
> cell: +393495087014
> 
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

-- 
--
Benjamin Jakimow, Doctoral Researcher
Earth Observation Lab | Geography Department | Humboldt-Universität zu 
Berlin

e-mail: benjamin.jakimow at geo.hu-berlin.de

phone:  +49 (0) 30 2093 6894
mobile: +49 (0) 157 5656 8477
fax:    +49 (0) 30 2093 6848
mail:   Unter den Linden 6 | 10099 Berlin | Germany
room: 2'222

Links:
------
[1] http://layer.id
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20210504/a044b18f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: blocked.gif
Type: image/gif
Size: 118 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20210504/a044b18f/attachment.gif>


More information about the QGIS-Developer mailing list