Explorar o código

wxGUI: fix updating attributes for OGR layers

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@48944 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa %!s(int64=13) %!d(string=hai) anos
pai
achega
99b3be685c
Modificáronse 1 ficheiros con 10 adicións e 3 borrados
  1. 10 3
      gui/wxpython/gui_modules/dbm_dialogs.py

+ 10 - 3
gui/wxpython/gui_modules/dbm_dialogs.py

@@ -244,7 +244,7 @@ class DisplayAttributesDialog(wx.Dialog):
                     sqlString = sqlString[:-1] # remove last comma
                     sqlString += ")"
                 else:
-                    sqlString += " WHERE cat=%s" % cat
+                    sqlString += " WHERE %s=%s" % (key, cat)
                 sqlCommands.append(sqlString)
             # for each category
         # for each layer END
@@ -288,18 +288,25 @@ class DisplayAttributesDialog(wx.Dialog):
 
     def OnSubmit(self, event):
         """!Submit records"""
+        layer = 1
         for sql in self.GetSQLString(updateValues = True):
             enc = UserSettings.Get(group = 'atm', key = 'encoding', subkey = 'value')
             if not enc and 'GRASS_DB_ENCODING' in os.environ:
                 enc = os.environ['GRASS_DB_ENCODING']
             if enc:
                 sql = sql.encode(enc)
-            
+
+            driver, database = self.mapDBInfo.GetDbSettings(layer)
+            Debug.msg(1, "SQL: %s" % sql)
             gcmd.RunCommand('db.execute',
                             parent = self,
                             quiet = True,
                             input = '-',
-                            stdin = sql)
+                            stdin = sql,
+                            driver = driver,
+                            database = database)
+            
+            layer += 1
         
         if self.closeDialog.IsChecked():
             self.OnCancel(event)