Добрый день. Уже несколько дней пытаюсь совладать с IZbDataset ([URL=https://www.politerm.com/zuludoc/zuluax/index.html#IZbDataset_cls.html]https://www.politerm.com/zuludoc/zuluax/index.html#IZbDataset_cls.html[/URL]).
Может быть я смотрю вообще не в ту сторону, но хорошего патерна я не знаю.
Суть такая: я хочу выполнить через плагин sql-запрос к группе участков, чтобы в дальнейшем собрать его результат в DataTable C#, далее проделать там некоторые расчеты, получить столбец со значениями, которые с помощью еще одного sql-запроса занести в участки (ну либо просто записать в БД по sys). Проблема в том, что у меня никак не получается этот IZbDataset преобразовать
Вот пишу.
var resultDataset = activeLayer.ExecSQL($@"
select sys,[Длина участка, м],
[Внутpенний диаметp подающего тpубопpовода, м] as 'Dpod',
[Расход воды в подающем трубопроводе, т/ч]
where typeid = 6 and geometry.selected()=1");
var df = resultDataset.DataSet;
Out.PrintDataset(df, 8 + "&H100");
В окно сообщение вывод получаю. В csv тоже выгружается нормально.
Пишу например var fieldsCount = df.GetDataFields(4).Count; -На выходе 0.
Много чего пробовал, но понимания не пришло, а каждый раз для эксперимента собирать dll, открывать программу и тестировать весьма затратно по времени.
Мне не понятно, как указать конкретный столбец, конкретную строку, чтобы получить доступ к значению IZbDataset, полученного как результат sql-запроса?
Может быть я смотрю вообще не в ту сторону, но хорошего патерна я не знаю.
Суть такая: я хочу выполнить через плагин sql-запрос к группе участков, чтобы в дальнейшем собрать его результат в DataTable C#, далее проделать там некоторые расчеты, получить столбец со значениями, которые с помощью еще одного sql-запроса занести в участки (ну либо просто записать в БД по sys). Проблема в том, что у меня никак не получается этот IZbDataset преобразовать
Вот пишу.
var resultDataset = activeLayer.ExecSQL($@"
select sys,[Длина участка, м],
[Внутpенний диаметp подающего тpубопpовода, м] as 'Dpod',
[Расход воды в подающем трубопроводе, т/ч]
where typeid = 6 and geometry.selected()=1");
var df = resultDataset.DataSet;
Out.PrintDataset(df, 8 + "&H100");
В окно сообщение вывод получаю. В csv тоже выгружается нормально.
Пишу например var fieldsCount = df.GetDataFields(4).Count; -На выходе 0.
Много чего пробовал, но понимания не пришло, а каждый раз для эксперимента собирать dll, открывать программу и тестировать весьма затратно по времени.
Мне не понятно, как указать конкретный столбец, конкретную строку, чтобы получить доступ к значению IZbDataset, полученного как результат sql-запроса?