RUS  ENG 

Пустые FieldInfo после запроса

Страницы: 1
RSS
Пустые FieldInfo после запроса
 
Опять начну с того, что после перекидывания на сервер Zulu продолжились проблемы. Не могу нормально работать с объектами DataSet.
Делаю что-то подобное:
IZbQueries queries = dbLayer.Queries;
IZbQueryInfo queryInfo = queries.AddNew(zbQueryType.zbqtVisualQuery, "tmpQuery");
IZbVisualQuery vsQuery = queryInfo.VisualQuery;
IZbTableRef tableRef = vsQuery.Tables.Add(table, true);
vsQuery.SetBaseField(tableRef, primaryKeyName);
foreach (KeyValuePair<string, string> pair in this.get_FieldsNames(tbl,"FieldNames SelectData(CmpTable tbl, string primaryKeyName, object primaryKeyVal)"))
{
IZbFieldInfo field = vsQuery.AddField(tableRef, pair.Key);
field.UserName = pair.Key;
}

queryInfo.Active = true;
dbLayer.Save(0);
dataSet = queryInfo.SelectByKey(primaryKeyVal);

Пытаюсь получить названия полей в dataSet. Проходом по полям DataSet получаю, что они там есть. Даже если запрос сохраняется в базе, это можно проверить.
Только вот проблема, по имени к ним я обратиться не могу, ибо FieldInfo во всех полях Null. Если смотреть VisualQuery, то FieldInfo там есть.
То есть при выполнении запроса в DataSet не переходят данные по полям.
 
Нашёл подобную тему за 2009 год.
Ответ был такой:
2. С GetFieldInfo подправим (тоже результат неполной синхронизации с сервером), хотя для временного запроса это не критично - соответствующий датасету визуальный запрос на руках.
Видимо, не подправили. Хотя, я могу ошибаться.
По поводу того, что запрос на руках, это абсолютно не помогает. Ибо функции по вызову запросов в другом классе, и получать необходимо из методов именно объект DataSet. А все следы "временных запросов" должны удаляться. То есть остается только DataSet. То есть пользуют данные запросов и получают данные по запросам совсем разные объекты из разных классов.
Страницы: 1