С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
41 / 4 / 4
Регистрация: 20.05.2013
Сообщений: 67

ADOQuery, как с ним работать?

24.05.2015, 22:46. Показов 1905. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Слабо знаком с делфи, но нужно создать клиент серверную программу! В общем столкнулся с той проблемой, что не могу понять как именно прописывать SQL запросы через ADOQuery. В моём конкретном случае:
На SQL сервере лежит база, в ней таблицы Connect, Klient, Service и др.
В Делфи создал DataModul (DM), на ней расположил ADOConnection1 в которой связал базу с клиентской частью. У меня есть таблицы которые стоит мне отображать полностью, я воспользовался ADOTable и DATASource, всё вышло, Грид отображает таблицу.
Но в некоторых Гридах мне нужно будет отобразить Столбики с разных таблиц в базе, или наоборот всего пару полей с одной таблицы, понял что нужно ADOQuery. Но вот проблема, где именно и как нужно прописать запрос чтобы Грид его отобразил?
Пробывал так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TConnect.BitBtn1Click(Sender: TObject);
begin
        with unit12.DM.ADOConnect do
      begin
        Close;
        SQL.Clear;
        SQL.Add('SELECT * FROM Connect ');
        ExecSQL;
        Unit12.DM.ADOConnect.Active :=false;
        Unit12.DM.ADOConnect.Active :=true;
      end;
end;
и так
Delphi
1
2
3
4
5
6
7
procedure TConnect.BitBtn1Click(Sender: TObject);
begin
  DM.ADOConnect.Active := False;
  DM.ADOConnect.SQL.Clear;
  DM.ADOConnect.SQL.Add('SELECT * FROM Connect ');
  DM.ADOConnect.Active := True;  
end;
DM - DataModul (Unit12), на котором нахотядся мои ADOQuery, DATASource и т.д.
ADOConnect - это имя моего ADOQuery.

Ещё пробывал так: в свойствах моего ADOConnect нашёл строку SQl, там прописал запрос, но ничего не изменилось, Грид не реагирует не так, не так!
В чём моя глупая ошибка?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2015, 22:46
Ответы с готовыми решениями:

Как работать с ADOQuery?
Имеется dmb база, которая содержит всего одну таблицу - PRICE. В таблице всего три поля: Код, Товар, Цена. Не могу понять, как...

TIWTreeView и как с ним работать?
Здраствуйте. может кто подскажет литературу или ссылки как работать с компонентой TIWTreeViev для IntraWeb приложения. Буду премного...

Поток - Thread, как с ним работать
Здравствуйте, Нужно создать (отдельный модуль) поток(с отображением Progressbar'ом) с одной функцией проверкой на существование файлов в...

7
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
24.05.2015, 22:57
Этого должно быть достаточно:
Delphi
1
2
3
4
5
procedure TConnect.BitBtn1Click(Sender: TObject);
begin
  DM.ADOConnect.SQL.Text := 'SELECT * FROM Connect ';
  DM.ADOConnect.Open;  
end;
При этом ADOQuery должен быть связан с соответствующим DataSource, а тот, в свою очередь, с Гридом.
0
41 / 4 / 4
Регистрация: 20.05.2013
Сообщений: 67
24.05.2015, 23:10  [ТС]
Этого должно быть достаточно:
Код Delphi

1 procedure TConnect.BitBtn1Click(Sender: TObject);
2 begin
3 DM.ADOConnect.SQL.Text := 'SELECT * FROM Connect ';
4 DM.ADOConnect.Open;
5 end;

При этом ADOQuery должен быть связан с соответствующим DataSource, а тот, в свою очередь, с Гридом.
Приложил скрин, что связал как нужно! Ведь с ADOTable работает, но с ADOQuery не выходит!
Грид по прежнему пустой.
И что делать с полем SQl в свойствах ADOQuery? оставить пустым?
Миниатюры
ADOQuery, как с ним работать?  
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
24.05.2015, 23:27
DataConnect с Гридом связан?

Цитата Сообщение от funduk17 Посмотреть сообщение
что делать с полем SQl
Запрос туда можно прописать в дизайнере, либо, как в моем примере, кодом.
Если прописать в дизайнере и выставить св-во Active, то данные должны сразу появиться в Гриде.
0
41 / 4 / 4
Регистрация: 20.05.2013
Сообщений: 67
24.05.2015, 23:36  [ТС]
DataConnect с Гридом связан?
Да, конечно.
Прописал в дизайнере, не помогло, грид по прежнему пустой, в базе или ADOConnection ошибок точно нету, ведь ADOTable работает нормально!
Миниатюры
ADOQuery, как с ним работать?  
0
41 / 4 / 4
Регистрация: 20.05.2013
Сообщений: 67
25.05.2015, 00:00  [ТС]
Заработало!!! Дело в том что пока я эксперементировал и пытался решить проблему в трее обьектов я в ручную в Гриде создал столбик, из-за этого он не хотел отображать запрос!

Можно тогда ещё пару мелких вопросов чтобы я не создавал новые темы?
1) У меня свойство Active в ADOQuery постоянно само меняется на False, так и должно быть? Или стоит при открытии формы просто прописать DM.ADOConnect.Active := True; , чтобы это больше не беспокоило!?
2) До сих пор не понял что означает приставка Т к компонентам, или это что-то системное и мне в коде не нужно будет вводить имена с этой приставкой? и можно просто о ней забыть?
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
25.05.2015, 01:47
Цитата Сообщение от funduk17 Посмотреть сообщение
Или стоит при открытии формы просто прописать DM.ADOConnect.Active := True;
Однозначно стоит. При чём стоит выбрать самый правильный момент, когда это нужно выполнить.
Цитата Сообщение от funduk17 Посмотреть сообщение
До сих пор не понял что означает приставка Т к компонентам, или это что-то системное и мне в коде не нужно будет вводить имена с этой приставкой? и можно просто о ней забыть?
Купи/скачай учебник. Обычно в любом учебнике рассказывается про общепринятые правила формирования имён.
В данном случае, если имя начинается с T, значит это имя класса.
0
41 / 4 / 4
Регистрация: 20.05.2013
Сообщений: 67
25.05.2015, 04:30  [ТС]
Цитата Сообщение от northener Посмотреть сообщение
Цитата Сообщение от funduk17 Посмотреть сообщение
Или стоит при открытии формы просто прописать DM.ADOConnect.Active := True;
Однозначно стоит. При чём стоит выбрать самый правильный момент, когда это нужно выполнить.
То есть насколько я понял этой функцией мы обновляем отображающуюся таблицу! Когда я буду через свою программу не только просматривать базу, а вносить в ней коректировки и заполнять, нужно будет ставить False потом снова True, верно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2015, 04:30
Помогаю со студенческими работами здесь

Where и как с ним работать?
не могу разобраться с расширением Where на майкрофте пишут int numbers = { 0, 30, 20, 15, 90, 85, 40, 75 }; ...

gkPlugins Как с ним работать?
Есть плагин gkPlugins который, как я понял, позволяет парсеть видео. Как с ним пользоваться и установить на сайте? Дайте мануал...

DaraGridView - как с ним работать
Вот кусок кода в котором я получаю нужные данные (переменная result), записываю в двумерный массив mResult = result;. Хочу получить...

SVN как с ним работать
Создал пользователя htpasswd /etc/apache2/dav_svn.passwd user_name Создал репозиторий svnadmin create /var/www/svn/repo_name SVN...

SortedDictionary и как с ним работать
Есть вот такой код, но он выдаёт странную ошибку, хотя делал по примерам с оф.сайта Майков. Помогите починить, чтобы коллекция хранилась...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru