Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: mamontovsk от 12 Сентября 2023, 13:46:22

Название: SQL и выпадающий список
Отправлено: mamontovsk от 12 Сентября 2023, 13:46:22
Коллеги, добрый день.
Есть необходимость считывать из таблицы Vechicle все строки столбца VechicleName(VarChar(45) и выводить эти строки в выпадающем списке.
Может кто сталкивался?
Сейчас пытаюсь это сделать таким кодом:
Код: (delphi)
var
  Q2, data : string;
  index : integer;
begin
  Q2 := 'SELECT `VechicleName` FROM `vechicle`';
  RunSQL(Q2, nil, 2);
  //while not DataSet.EOF do
    //begin
      for index := 0 to DataSet.RecNo - 1 do
        begin
        data := DataSet[index].AsStr;
        ComboBox1.AddItem(data);
        //DataSet.Next;
    end;
end.
Вызов скрипта привязан на событие OnClick поля Combobox
Название: Re: SQL и выпадающий список
Отправлено: Simple-Scada от 12 Сентября 2023, 17:58:06
Здравствуйте.

В этом сообщении (https://simple-scada.com/forum/index.php?topic=999.msg8342#msg8342) форума есть пример заполнения списка из таблицы БД.
Процедура RunSQL выполняется асинхронно (выполнение зависит от нагрузки на СУБД, ПК и пр.). Поэтому сразу после вызова RunSQL нельзя работать с результатом запроса. Обработать результаты запроса можно в скриптах с типом события "Выполнен SQL-запрос". Такие скрипты содержат параметр DataSet(TM_DataSet) - набор данных, полученный в результате выполнения запроса.
См. описание по ссылке (https://simple-scada.com/help/script/querytodb.html). Пример работы с результатом по ссылке (https://simple-scada.com/help/script/getvardb.html).
Название: Re: SQL и выпадающий список
Отправлено: mamontovsk от 13 Сентября 2023, 07:36:23
Спасибо за информацию, очень помогло, все заработало!