我正在为qgis写一个插件。在这个插件中,我需要查询一个数据库,我尝试使用pymysql。当我尝试在Qgis中安装插件时,错误消息是:ModuleNotFoundError:No module name'pymysql'。Pymsql安装正确,并且通常可以正常工作,我确信在我导入模块的代码中。这是我使用db连接的代码部分。我的代码有问题吗,或者在Qgis插件中使用pymysql是不可能的
retrive = "SELECT DISTINCT ID FROM `beni` Join relazioni ON beni.ID = relazioni.IDR WHERE relazioni.data="+dataInizio
#database connection
connection = pymysql.connect(host="localhost",user="root",passwd="",database="mydb",port=3308 )
cursor = connection.cursor()
if connection.open:
#execute query
cursor.execute(retrive)
rows = cursor.fetchall()
if not rows:
self.iface.messageBar().pushMessage(
'Success', "rows is empty", level=Qgis.Success)
else:
#create Qgis Expression
seperator = ', '
rowsString=seperator.join(rows)
expr = QgsExpression( "id in ("+rowsString+")")
cLayer = iface.mapCanvas().currentLayer()
it = cLayer.getFeatures( QgsFeatureRequest( expr ) )
ids = [i.id() for i in it]
#select by ids and load style
cLayer.selectByIds(ids)
cLayer.loadNamedStyle(selectedStyle)
cLayer.triggerRepaint()
connection.close()
目前没有回答
相关问题 更多 >
编程相关推荐