Daugiau

Paprasti duomenys prieš paprastus duomenis „ArcGIS“


Noriu įvesti kai kuriuos duomenis į funkcijų klasę naudodami „ArcObjects“. Savo kode tam naudoju „EditSession“, tačiau saugojant duomenis buvo pateikta klaida, kuri sako, kad turiu naudoti „editsession“. Tyrinėdamas sužinojau, kad funkcijų klasė yra ne paprasti duomenys, ir vakar pastebėjau, kad ši nesudėtingų duomenų parinktis yra dėl to, kad sukuriamas M-M ryšys. Galų gale mano tikslas yra įvesti duomenis į šią paprastą funkcijų klasę naudojant šį kodą.

viešieji eilutės intarpai (eilutės lentelės pavadinimas, sąrašas laukai, eilutė primerykey) {IEnumDataset datasets = ws.get_Datasets (esriDatasetType.esriDTAny); ID duomenų rinkinio duomenų rinkinys = null; IT lentelė = null; IFeatureWorkspace fws = ws kaip IFeatureWorkspace; IFeatureDataset fdataset = fws.OpenFeatureDataset ("Elektros"); duomenų rinkiniai = fdataset.Subsets; do {duomenų rinkinys = duomenų rinkiniai.Kitas (); table = duomenų rinkinys kaip ITable; if (duomenų rinkinys == null) grąžina „Lentelės nėra“; } while (duomenų rinkinys.Vardas! = lentelės pavadinimas); IWorkspaceEdit ews = ws kaip IWorkspaceEdit; ews.StartEditing (false); ews.StartEditOperation (); IRow eilutė = null; table.Fields.FindField (primerykey); eilutės reikšmė = "123"; }} Žymeklio žymeklis = null; IQueryFilter2 queryFilter = naujas QueryFilterClass (); queryFilter.WhereClause = primerykey + "= '" + value + "'"; žymeklis = lentelė. Paieška (queryFilter, false); eilutė = žymeklis.NextRow (); foreach (tableRow laukas laukuose) {Type type = field.type; int ind = row.Fields.FindField (field.name); if (ind == -1) grąžinkite „Lauko nėra“; row.Value [ind] = Convert.ChangeType (field.value, type); } eilutė.Store (); ews.StopEditOperation (); ews.StopEditing (tiesa); grąžinti „Eilutė įterpta sėkmingai“; }

Šis metodas veikė visuose duomenų rinkiniuose, tačiau viename iš jų buvo pateikta klaida: „Šios klasės objektų negalima atnaujinti ne redagavimo seanso metu“.

Noriu sužinoti, kuo skiriasi „paprasti duomenys“ ir „nesudėtingi duomenys“ „ArcGIS“ geografinėje duomenų bazėje? Ir kaip aš galiu nesudėtingus duomenis paversti paprastais?