AdoQuery

Ответить
Аватара пользователя
Alex
Ас
Сообщения: 2833
Зарегистрирован: Вт апр 05, 2005 3:28 pm
Откуда: Kaliningrad City
Благодарил (а): 2 раза
Поблагодарили: 91 раз
Контактная информация:

AdoQuery

Сообщение Alex » Чт авг 23, 2007 6:39 am

Миссия действия:
С помощью данного действия создается запрос к базе данных и сохраняется в заданной переменной для последующих операция с запросом или его данными. Название переменной для сохранения запроса должно быть уникальным и не встречающимся у других ADO запросов задачи (если переменная запроса глобальная, то у всех ADO запросов во всех задачах). Если же необходимо таки использовать запрос с тем же именем переменной, что у уже встречающихся ADO запросов, то предыдущие запросы необходимо закрыть с помощью соответствующей операции действия AdoQueryOperation.

Поля на форме:
Ado Connection variable - Переменная, хранящая в себе ADO подключение к базе данных;
SQL - SQL код для создаваемого запроса;
Variable - Имя переменной, в которой хранить открытый ADO запрос;
Is Global - Признак отвечающий за то, глобальная переменная будет создана для хранения ADO запроса или локальная

Результирующие параметры:
Success - Результат выполнения действия, успешно выполнен и открыт ADO запрос или нет;

Аватара пользователя
Alex
Ас
Сообщения: 2833
Зарегистрирован: Вт апр 05, 2005 3:28 pm
Откуда: Kaliningrad City
Благодарил (а): 2 раза
Поблагодарили: 91 раз
Контактная информация:

Re: AdoQuery

Сообщение Alex » Чт авг 23, 2007 6:59 am

Пример задачи на использование данного действия во вложении. Краткое описание:
Создается подключение к базе данных, если подключение успешно, то создается запрос, в дальнейшем поле запроса или отображается сразу на экране (из первой строки) или в цикле собирается в одной переменной и после прохождения всех строк запроса содержимое этой переменной выводится на экран.
Вложения
AdoQuery.xstk
(10.17 КБ) 1102 скачивания

Caspian
Пассажир
Сообщения: 3
Зарегистрирован: Чт авг 02, 2007 9:39 am
Благодарил (а): 0
Поблагодарили: 0

Re: AdoQuery

Сообщение Caspian » Пт авг 24, 2007 10:24 am

Скажите, предусмотрены ли какие-либо действия с результатом работы запроса (напр. экспорт в xml, mdb)?

Аватара пользователя
Alex
Ас
Сообщения: 2833
Зарегистрирован: Вт апр 05, 2005 3:28 pm
Откуда: Kaliningrad City
Благодарил (а): 2 раза
Поблагодарили: 91 раз
Контактная информация:

Re: AdoQuery

Сообщение Alex » Пт авг 24, 2007 10:31 am

Нет, не предусмотрены. Форматы xml и mdb, в которые производить экспорт, могут отличаться и их сложно предусмотреть в каком либо действии.
Но я так думаю сохранить результаты запроса в xml можно через текстовые функции xStarter, а в mdb - через дополнительное AdoConnect и AdoScriptExecute.

markua
Ас
Сообщения: 197
Зарегистрирован: Чт май 29, 2008 5:06 pm
Благодарил (а): 3 раза
Поблагодарили: 10 раз

Re: AdoQuery

Сообщение markua » Пн июл 07, 2008 1:33 pm

З AdoQuery.xstk разобрался --- но а примере результат один столбец [AdoQueryValue('qr','name')], а если их несколько 'name2','name3',...'nameN' , что-то запутался...Подскажите как сделать, пожалуйста...
Последний раз редактировалось markua Пн июл 07, 2008 1:57 pm, всего редактировалось 1 раз.

Аватара пользователя
Alex
Ас
Сообщения: 2833
Зарегистрирован: Вт апр 05, 2005 3:28 pm
Откуда: Kaliningrad City
Благодарил (а): 2 раза
Поблагодарили: 91 раз
Контактная информация:

Re: AdoQuery

Сообщение Alex » Пн июл 07, 2008 1:44 pm

Для каждого столбца можно использовать отдельную конструкцию типа [AdoQueryValue('qr','name')]. Получается в любых текстовых полях любых действий можете использовать произвольные комбинации [AdoQueryValue('qr','name')] [AdoQueryValue('qr','name2')] [AdoQueryValue('qr','name3')] и т.д.

dimajak
Пилотируем с автопилотом
Сообщения: 16
Зарегистрирован: Чт окт 21, 2010 3:39 pm
Благодарил (а): 0
Поблагодарили: 0

Re: AdoQuery

Сообщение dimajak » Чт окт 21, 2010 4:24 pm

Подключаюсь к БД MySQL, отправляю запрос "INSERT INTO ..." .
В логах задачи:

Код: Выделить всё

AdoQuery1 запущено
Exception: CommandText does not return a result set
...
AdoQuery1 выполнено Неудачно
Хотя запрос отработал и запись появилась в таблице.

Аватара пользователя
Alex
Ас
Сообщения: 2833
Зарегистрирован: Вт апр 05, 2005 3:28 pm
Откуда: Kaliningrad City
Благодарил (а): 2 раза
Поблагодарили: 91 раз
Контактная информация:

Re: AdoQuery

Сообщение Alex » Вс окт 24, 2010 8:13 pm

Скрипт отработает, все верное, но AdoQuery нацелено на Select и возврат некоторого результата. Insert это не делает, возникает ошибка в логе "CommandText does not return a result set". Для выполнения скриптов лучше всего использовать viewtopic.php?f=106&t=946&start=0

НикоН
Пассажир
Сообщения: 2
Зарегистрирован: Ср окт 30, 2013 9:49 am
Благодарил (а): 0
Поблагодарили: 0

Re: AdoQuery

Сообщение НикоН » Ср окт 30, 2013 11:28 am

Доброго времени суток

Помогите разобраться где косяк.

В таблице SC16 есть текстовые поля ID, CODE, PARENT, DESCR и т.д.
Запрос AdoQuery1 с параметрами ConVar="CNN", SQL="SELECT * FROM SC16", SotreInVar="QUERY", StoreInGlobal="False", вроде куда уж проще.
Далее начинаются "чудеса", в действии "Установить переменную" с параметрами VarName="Запрос", Value="[Запрос][ENTER][AdoQueryValue('QUERY','DESCR')]", IsGlobal="False", StoreInFile="False", Tp="0", TpStr="Строка", переменная получает значение, но если поменять в функции AdoQueryValue параметр 'field_name' на имя какого либо другого поля (ID, CODE, PARENT), то возникает исключение "Exception: Field 'CODE' not found"

Подскажите в чем моя ошибка?

mobilnik
Пассажир
Сообщения: 6
Зарегистрирован: Чт апр 03, 2014 8:06 am
Благодарил (а): 0
Поблагодарили: 0

Re: AdoQuery

Сообщение mobilnik » Чт май 25, 2017 11:58 am

при запросе SELECT SUM
(Qtty)

результат не имеет имени столбца

как извлечь потом результат?

через функцию
[AdoQueryValue('query_var','field_name')]

не извлекается
непонятно что вводить в 'field_name'

целиком вывод всего запроса тоже не получается

сохраняю запрос в переменную kkkk
потом вывод сообщения[kkkk]
тоже не получается

Ответить