Официальный сайт геоинформационной системы (ГИС) ObjectLandОфициальный сайт геоинформационной системы (ГИС) ObjectLand
  
 
ПОИСК ПО САЙТУ:
yandex.ru
КАРТА САЙТА
 
главная / поддержка / форум
E-MAIL:ПАРОЛЬ: 
регистрация

Обсуждение

 ВыборкаВыборка [ Дмитрий Глубоков ]
Пятница, 4 марта 2011, 09:36

Добрый день.
У меня вопрос по выборке.
Есть код, который делает выборку из справочника и задан критерий поиска.
Выборка создается, критерий выборки работает, но в последней строке кода выдается ошибка - свойство\метод недопустимо - неподходящий владелец объекта. Т.е. невозможно прочитать значение поля "КОД" из выборки. Физически выборка в БАЗЕ создается. В чём моя ошибка?

objGDBLayer = objGDBMap.Layers.Item("ЖД") ' текущий слой
objGDBFeatureType = objGDBLayer.FeatureTypes.Item("Светофор") 'текущий тип геометрий
objGDBFeatureSet = objGDBFeatureType.OpenFeatureset
objGDBReferense = objGDB.Tables.Item("Справочник типов светофоров") ' текущий справочник
objGDBQuery = objGDB.CreateQuery(objGDBReferense)
objGDBQuery.Name = "Выборка светофоров"
objGDB.Queries.Append(objGDBQuery)
objGDBField = objGDBQuery.Fields.Item("ПОЛНОЕ ИМЯ")
objGDBFeatureSet.MoveFirst() ' Установка указателя на первую запись
If objGDBFeatureSet.FeatureCount > 0 Then
Do
OP_1 = objGDBFeatureSet.Feature.MapSymbol.Name
OP_2 = objGDBFeatureSet.Feature.MapSymbol.Name
objGDBFieldSearchCondition = objGDBField.CreateSearchCondition(GDBEngineLib.GdbLogicalOps.gdbLogicalNone, GDBEngineLib.GdbQueryRelations.gdbQueryRelEQ, OP_1, OP_2)
objGDBQuery.FieldSearchConditions.Append(objGDBFieldSearchCondition)
objGDBQuery.Update()
objGDBField = objGDBQuery.Fields.Item("КОД")

Console.WriteLine(objGDBField.Value)-тут ошибка!!!

 Выборка [ Objectland Support ]
Пятница, 4 марта 2011, 13:27

objGDBQuery.Fields - коллекция, содержащая поля выборки, то есть объекты, описывающие поля выборки как элементы структуры выборки. Для получения значения поля Вам нужно поле ЗАПИСИ выборки, которое получается следующим образом: нужно получить набор записей выборки (aRecordset = objGDBQuery.OpenRecordset(true)), спозиционироваться на нужную запись или организовать цикл по всем записям, получить значение поля текущей записи (aField = aRecordset.Fields.Item("КОД"); aField.Value), закрыть набор записей (aRecordset.Close).

 Выборка [ Дмитрий Глубоков ]
Пятница, 4 марта 2011, 14:36

Все понятно.
Спасибо!!!

Ответить

Знаком «*» отмечены обязательные для заполнения поля.
Ваше имя:  *
Адрес электронной почты:  
Тема:  *
Сообщение:
 *
Подтверждение:
(не требуется для зарегистрированных пользователей)
 *
 



Copyright © 1999–2020 ГИС ObjectLand
ГИС ObjectLand ® ООО «Радом-АйТи»
Информация о лицензировании
главная | о продукте | скачать | купить | поддержка | новости