Quantcast
Channel: Question and Answer » oracle
Viewing all articles
Browse latest Browse all 717

oracle VectorLayer without geometry – How to get attributes?

$
0
0

I have a prolem to iterating over a oracle VectorLayer without geometry in QGIS 2.6.

self.uri = QgsDataSourceURI()
self.uri.setConnection("localhost", "port", "xe", "name", "password")
self.uri.setDataSource("", str(tableName), None, "")
oraclelayer = QgsVectorLayer(self.uri.uri(), str(tableName), "oracle")
# check valid
if oraclelayer.isValid():
    QtGui.QMessageBox.information(None, "OK", "The layer is OK!")

attrs = []

# check feature count
oraclelayer.selectAll()
QtGui.QMessageBox.information(None,"featurenumber",str(oraclelayer.selectedFeatureCount()))

# from http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/vector.html#iterating-over-vector-layer
iter = oraclelayer.getFeatures()
for feature in iter:
    attrs.append(feature.attributes())
    QtGui.QMessageBox.information(None, "feature", str(attrs[feature]))
QtGui.QMessageBox.information(None, "Datainformation", str(attrs[0]))     

The oraclelayer is Valid.
selectedFeatureCount returned the correct number.

After the messagebox “featurenumber” QGIS returned an exception for the messagebox “Datainformation”:
list index out of range

Thanks for your help


Viewing all articles
Browse latest Browse all 717

Trending Articles