Viac

ArcObjects upravuje/aktualizuje tabuľku Oracle ODBC


Je možné tabuľku Oracle ODBC pripojenú spoločnosťou OLE v programe ArcMap upravovať/aktualizovať pomocou programu ArcObjects? Ak áno, aké sú procedurálne kroky na tento účel?

Existujú príklady kódu, ktoré ukazujú, ako to urobiť?


Rozumiem, prečo by ste chceli namiesto ADO používať ArcObjects na aktualizáciu alebo čítanie obchodných tabuliek.

Keď sa ArcMap pripojí k vašej geodatabáze, nadviaže vyhradené pripojenie nazývané pracovný priestor. Zdá sa, že je to strata pamäte a zdrojov, aby ste vytvorili ďalšie pripojenie prostredníctvom ADO k vašej geodatabáze, kým máte existujúce pripojenie, ktoré môžete použiť. Platí to najmä vtedy, ak máte viac používateľov, pričom vytvorenie dvoch spojení pre každého používateľa sa môže zdať neefektívne.

Ak chcete aktualizovať alebo čítať tabuľku z programu ArcMap, musíte sa nejako zmocniť pracovného priestoru. Tento jednoduchý spôsob je získať ho z prvej vrstvy. Nasledujúci kód je vo VB.NET

Dim pWorkspace as IWorkspace Dim pMxdoc as ImxDocument = application.document 'get the arcmap document Dim pFLayer as IFeatureLayer = pMxdoc.FocusMap.Layers (0) Dim pDS as IDataset = pFLayer.FeatureClass pWorkspace = pDs.Work

teraz, keď máme pracovný priestor, môžete ho použiť na otvorenie tabuľky podľa názvu a aktualizáciu poľa s názvom záznamu s ID objektu 1235

Dim pFWorkspace As IFeatureWorkspace Dim pTable As ITable = pFWorkspace.OpenTable ("mytablename") 'start editing Dim pEWorkspace As IWorkspaceEdit = pWorkspace pEWorkspace.StartEditing (False) pEWorkspace.StartEdit (() konkrétny riadok na aktualizáciu pRow.Value (pRow.Fields.FindField ("NAME")) = "A NEW NAME" pRow.Store () pEWorkspace.StopEditOperation () pEWorkspace.StopEditing (True)


Pozri si video: Creating an ODBC Data Source Name (Október 2021).