Hallo,
ich möchte Einträge in einer SDE-Tabelle ändern, aber wenn ich mein Programm laufen lasse, dann bekomme ich in der Zeile " pCursor.UpdateRow pRow" ein run-time error -2147216100(8004151c) Insufficient permissions.
weiß irgendjemand wodran das liegen könnte? nachfolgend noch ein bisschen mehr SourceCode.
Viele Grüße,
Imke Dörge
----------------
Dim pSDEFeatWsp As IFeatureWorkspace
Dim pSDEWsp As IWorkspace
Dim pSDEWspEdit As IWorkspaceEdit
Dim pTable As ITable
Dim pQueryFilter As IQueryFilter
Dim pCursor As ICursor
Dim pRow As IRow
' SDEWorkspaceFactory erzeugen
Set pSDEFact = New SdeWorkspaceFactory
'Setzen der Parameter für die SDE-Verbindung in globale Variable g_pPropSet
Call Modul_SDE_connect.SDE_connect_param1
' Verweis auf die IWorkspace-Schnittstelle --> Verbindung herstellen
Set pSDEFeatWsp = pSDEFact.Open(g_pPropSet, hWnd)
'auf Tabelle zugreifen
Set pTable = pSDEFeatWsp.openTable(SDE_IMKE.Tabelle1)
'QueryFilter erzeugen und Auswahlbedingung formulieren
Set pQueryFilter = New QueryFilter
pQueryFilter.WhereClause = "REFERENZINFO = " & 125
'Cursor über alle ausgewählten Objekte
Set pCursor = pTable.Search(pQueryFilter, False)
Set pRow = pCursor.NextRow
Set pCursor = pTable.Update(pQueryFilter, False)
Set pRow = pCursor.NextRow
With pRow
.Value(.Fields.FindField("REF_LG_MITTE")) = Mitte_geo.X
.Value(.Fields.FindField("REF_BG_MITTE")) = Mitte_geo.Y
End With
pCursor.UpdateRow pRow
ich möchte Einträge in einer SDE-Tabelle ändern, aber wenn ich mein Programm laufen lasse, dann bekomme ich in der Zeile " pCursor.UpdateRow pRow" ein run-time error -2147216100(8004151c) Insufficient permissions.
weiß irgendjemand wodran das liegen könnte? nachfolgend noch ein bisschen mehr SourceCode.
Viele Grüße,
Imke Dörge
----------------
Dim pSDEFeatWsp As IFeatureWorkspace
Dim pSDEWsp As IWorkspace
Dim pSDEWspEdit As IWorkspaceEdit
Dim pTable As ITable
Dim pQueryFilter As IQueryFilter
Dim pCursor As ICursor
Dim pRow As IRow
' SDEWorkspaceFactory erzeugen
Set pSDEFact = New SdeWorkspaceFactory
'Setzen der Parameter für die SDE-Verbindung in globale Variable g_pPropSet
Call Modul_SDE_connect.SDE_connect_param1
' Verweis auf die IWorkspace-Schnittstelle --> Verbindung herstellen
Set pSDEFeatWsp = pSDEFact.Open(g_pPropSet, hWnd)
'auf Tabelle zugreifen
Set pTable = pSDEFeatWsp.openTable(SDE_IMKE.Tabelle1)
'QueryFilter erzeugen und Auswahlbedingung formulieren
Set pQueryFilter = New QueryFilter
pQueryFilter.WhereClause = "REFERENZINFO = " & 125
'Cursor über alle ausgewählten Objekte
Set pCursor = pTable.Search(pQueryFilter, False)
Set pRow = pCursor.NextRow
Set pCursor = pTable.Update(pQueryFilter, False)
Set pRow = pCursor.NextRow
With pRow
.Value(.Fields.FindField("REF_LG_MITTE")) = Mitte_geo.X
.Value(.Fields.FindField("REF_BG_MITTE")) = Mitte_geo.Y
End With
pCursor.UpdateRow pRow
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Gast am Do., 05.08.2004 - 15:50
PermalinkWieso machst du einen SearchCursor und überschreibst ihn gleich wieder?
Gespeichert von Imke am Do., 05.08.2004 - 16:10
PermalinkKann es sein, dass man nur seine eigenen Tabellen editieren kann? ich wollte nämlich auf eine "fremde" zugreifen. (SDE_Verbindung erstellt mit SDE_Anton und editieren von SDE_Berta.TabelleXY) denn wenn ich auf meine eigene Tabelle zugreife funktioniert es.
Viele Grüße, Imke
Gespeichert von Gast am Do., 05.08.2004 - 16:52
PermalinkKlar, das kann natürlich sein. Es hängt davon ab, wie in der Datenbank die Rechte vergeben werden.