Mer

Hva er C# Arcobject jeg må bruke for å programmere SQL Query til en LYR -fil programatisk?


Jeg vil programmatisk endre SQL -spørringen til en LYR -fil. Jeg utvikler meg i C# ved hjelp av ArcObject.

Egentlig kan jeg få en forekomst av IWorkspaceFactory fra et åpent lag med denne koden:

IDataLayer dataLayer = (IDataLayer) lyrFile.Layer; IDatasetName datasettnavn = (IDatasetName) dataLayer.DataSourceName; IWorkspaceFactory wsFactory = datasettnavn.WorkspaceName.WorkspaceFactory;

Men herfra sitter jeg fast. Jeg vet ikke hvordan jeg får tilgang til SQL -spørringen. Jeg har lest at med ISQLWorkspace kan jeg kanskje gjøre noe. Men jeg er egentlig ikke sikker i det hele tatt.

Målet her er å lage flere kopier av en lagfil (lyr), og bare endre SQL -spørringen litt. Jeg må gjøre det fordi jeg ikke har nok funksjonaliteter i kategorien "Definisjonsspørring" til å implementere forskjellige varianter av SQL -spørringen min.


Arcobjects har to grensesnitt for å koble til flere FeatureClasses og (eller) tabeller:

  1. Spørretabeller (IQueryDef)
  2. RelQueryTables

Resultatet av sammenføyningen din kan legges til kartet som et lag hvis resultatet har en geometri -kolonne.

Sørg for å lese dette Side for å sjekke forskjellene mellom to og velge den som passer dine behov