Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: Ошибка чтение несуществующего элемента

  1. #11

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    из дискуссии я так и не понял проблема в базе или в МС
    если по базе то не думая, есть такие варианты Вложение 82312
    Проблема не в базе и тот фрагмент кода который я привёл работает с массивом , который успешно
    заполняется из SQL-запроса. Но сколько там строк(УСПД сбрасывает в БД измеренные значения)
    заранее неизвестно- есть желание отобразить последние 100 но их может быть и меньше

  2. #12

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    из дискуссии я так и не понял проблема в базе или в МС
    Дык, никто из присутствующих не в курсе, как в MS4D переменные с неопределённым значением обрабатывать.

  3. #13

    По умолчанию

    Цитата Сообщение от AlexBut Посмотреть сообщение
    Проблема не в базе и тот фрагмент кода который я привёл работает с массивом , который успешно
    заполняется из SQL-запроса. Но сколько там строк(УСПД сбрасывает в БД измеренные значения)
    заранее неизвестно- есть желание отобразить последние 100 но их может быть и меньше
    Оно априори никогда неизвестно - кол-во строк в результирующем наборе. Если нужно ограничить кол-во строк в результирующем наборе - используйте в запросе TOP, ROWNUM или что там в Postgre.

    Дарю: яндекс

    Там в примерах заодно подспудно поясняется, что есть "первые" и "последние" в SQL.

    Что касается приведённого Вами куска кода, конструкция типа что_то<>NULL сразу вызывает вопросы у любого, работавшего с RDBMS. Как оно в MS4D - я лично не знаю, может и правильно.

  4. #14
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,466

    По умолчанию

    Цитата Сообщение от imaex Посмотреть сообщение
    Дык, никто из присутствующих не в курсе, как в MS4D переменные с неопределённым значением обрабатывать.
    Screenshot 2025-03-05 131301.png
    документация же есть
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #15

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    документация же есть
    У кого есть, а кому и без надобности.

  6. #16

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Screenshot 2025-03-05 131301.png
    документация же есть
    Может не по глазам но я не нашёл.
    И да-проблема не в базе, база успешно считывается и результат успешно закидывается в массив СКАДА,
    но при попытке определить а сколько строк заполнено возникает эта проблема.
    Последний раз редактировалось AlexBut; 06.03.2025 в 06:55.

  7. #17

    По умолчанию

    День добрый.

    В программе ST сначала локальную переменную типа массив создать и инициализировать через CREATE_ARRAY (https://support.mps-soft.ru/Help-web...ate_array.html). Потом присвоить на выход.
    Или существующий массив в ST сделать как InOut и перед заполнением применять RESIZE_ARRAY.
    В качестве init_value использовать локальную переменную, которая определена типом, как элемент массива.

  8. #18
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,466

    По умолчанию

    Цитата Сообщение от AlexBut Посмотреть сообщение
    Может не по глазам но я не нашёл.
    И да-проблема не в базе, база успешно считывается и результат успешно закидывается в массив СКАДА,
    но при попытке определить а сколько строк заполнено возникает эта проблема.
    с помощью ИИ можно получить ответ как это сделать, например
    SELECT
    *,
    COUNT(*) OVER () as total_orders
    FROM orders as t
    WHERE t.lasttime >= (NOW() - INTERVAL '10 s')
    ORDER BY t.lasttime DESC
    LIMIT 100;
    Оконная функция COUNT(*) OVER () не учитывает LIMIT в подсчёте, поэтому вы получите общее количество строк до применения LIMIT
    COUNT(*) обычно работает быстрее чем COUNT(столбец), так как не требует проверки на NULL

    Screenshot 2025-03-06 103702.png
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #19

    По умолчанию

    Нашёл length:=UPPER_BOUND(array,1)

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Удаление элемента в массиве
    от Александр2023 в разделе Помощь Разработчикам
    Ответов: 7
    Последнее сообщение: 26.06.2023, 23:57
  2. Отображение элемента
    от Dmitrijb в разделе Master SCADA 3
    Ответов: 0
    Последнее сообщение: 13.04.2022, 09:17
  3. Ошибка чтение "Универсальный конфигуратор ПЧВ"
    от flsegio в разделе Эксплуатация
    Ответов: 6
    Последнее сообщение: 01.11.2020, 03:04
  4. срабатывание элемента визуализации
    от Lebrus в разделе Разработки
    Ответов: 5
    Последнее сообщение: 26.05.2019, 13:00
  5. Фрейм, рамка элемента
    от Spawn в разделе СПК1xx (архив)
    Ответов: 4
    Последнее сообщение: 18.11.2015, 00:09

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •