Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2009, 14:37   #1
Talemir
Пользователь
 
Регистрация: 12.08.2009
Сообщений: 62
По умолчанию Запрос SQL из Access в Delphi

В Access я использовал запрос:
SELECT ObjList.Number, EvList.Time, ObjList.Name, ObjList.Address, EvType.Name, EvList.Info, Person.Status, Person.FirstName
FROM EvList, EvType, ObjList, Person
WHERE EvList.EvId=EvType.ID AND EvList.ObjId=ObjList.ID AND EvList.OperatorID=Person.ID AND EvType.ID=2621
ORDER BY Time, ObjList.Number;

Он работал и работает безупречно

Но Как реализовать данный запрос SQL в Delphi? При нажатии на кнопу в DBGrid отображалась тоже, что и в Access
Talemir вне форума Ответить с цитированием
Старый 26.08.2009, 16:44   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Запрос пишется как текст, то есть компоненты которые работают с запросами работают со строкой.
Если это акцес, то компоненты скорее всего TADOQuery, или TADODataset.
если компонент TADOQuery тоиспользование запроса на выборку в общем виде выглядит так
Код:
TADOQuery.close;
TADOQuery.SQL.TEXTL='ваш запрос';
TADOQuery.open;
если TADODataset то так
Код:
TADODataset.close
TADODataset.CommandType:=cmdText;//на всякий :)
TADODataset.CommandText:='ваш запрос';
TADODataset.open;
vovk вне форума Ответить с цитированием
Старый 26.08.2009, 17:03   #3
Talemir
Пользователь
 
Регистрация: 12.08.2009
Сообщений: 62
По умолчанию

Я прописывал таким образом в Delphi

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT ObjList.Number, EvList.Time, ObjList.Name, ObjList.Address, EvType.Name, EvList.Info, Person.Status, Person.FirstName FROM EvList, EvType, ObjList, Person WHERE (EvList.EvId=EvType.ID) AND (EvType.ID=2621)');
ADOQuery1.Open;
И все зависло!!!
Talemir вне форума Ответить с цитированием
Старый 26.08.2009, 17:14   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

если вы переносите в редакторе текст по строкам, то надо так
Код:
ADOQuery1.SQL.Text:='SELECT ObjList.Number, EvList.Time, '+ 
'ObjList.Name, ObjList.Address, EvType.Name, EvList.Info, Person.Status, '+ 
'Person.FirstName FROM EvList, EvType, ObjList, Person WHERE '+
'(EvList.EvId=EvType.ID) AND (EvType.ID=2621)';
надо же чтоб это воспринималось как строка.
или так
Код:
ADOQuery1.SQL.Add('SELECT ObjList.Number, EvList.Time, '); 
ADOQuery1.SQL.Add('ObjList.Name, ObjList.Address, EvType.Name, '); 
ADOQuery1.SQL.Add('EvList.Info, Person.Status, Person.FirstName FROM ');
ADOQuery1.SQL.Add('EvList, EvType, ObjList, Person WHERE ');
 ADOQuery1.SQL.Add'(EvList.EvId=EvType.ID) AND (EvType.ID=2621)');

Последний раз редактировалось vovk; 26.08.2009 в 17:31.
vovk вне форума Ответить с цитированием
Старый 26.08.2009, 17:24   #5
Talemir
Пользователь
 
Регистрация: 12.08.2009
Сообщений: 62
По умолчанию

Позже попробую. Заранее спасибо
Talemir вне форума Ответить с цитированием
Старый 26.08.2009, 20:46   #6
Talemir
Пользователь
 
Регистрация: 12.08.2009
Сообщений: 62
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
если вы переносите в редакторе текст по строкам, то надо так
Код:
ADOQuery1.SQL.Text:='SELECT ObjList.Number, EvList.Time, '+ 
'ObjList.Name, ObjList.Address, EvType.Name, EvList.Info, Person.Status, '+ 
'Person.FirstName FROM EvList, EvType, ObjList, Person WHERE '+
'(EvList.EvId=EvType.ID) AND (EvType.ID=2621)';
надо же чтоб это воспринималось как строка.
или так
Код:
ADOQuery1.SQL.Add('SELECT ObjList.Number, EvList.Time, '); 
ADOQuery1.SQL.Add('ObjList.Name, ObjList.Address, EvType.Name, '); 
ADOQuery1.SQL.Add('EvList.Info, Person.Status, Person.FirstName FROM ');
ADOQuery1.SQL.Add('EvList, EvType, ObjList, Person WHERE ');
 ADOQuery1.SQL.Add'(EvList.EvId=EvType.ID) AND (EvType.ID=2621)');
УРА !!! Все заработало Огромное спасиба!!!

Последний раз редактировалось Talemir; 26.08.2009 в 21:08.
Talemir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
sql запрос delphi viperrr Помощь студентам 13 03.07.2009 03:08
Запрос в Access Ruska882009 Помощь студентам 1 25.02.2009 15:42
Разработка программ (1C, Delphi+MS SQL Server, MS Access) trouvor Фриланс 11 29.12.2007 19:19
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15