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

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

24.05.2015, 22:46. Показов 1911. Ответов 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
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru