Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.04.2009, 08:01
lenuxoid lenuxoid вне форума
Прохожий
 
Регистрация: 17.12.2008
Адрес: Оренбург
Сообщения: 20
Репутация: 10
По умолчанию AdoQuery

Добрый день!
Делаю запрос через ADOQuery. В инспекторе объектов следующее.
Connection - ADO Connection1
SQl - SELECT * FROM Справочник
Вывожу в отдельную форму результат запроса (Dbgid+DataSource), запрос выполняется.
В главной форме пишу код:
Код:
Datamodule1.FindQuery.Active:=false;
Datamodule1.FindQuery.SQL.Clear;
Datamodule1.Findquery.SQL.ADD ('SELECT *');
Datamodule1.FindQuery.SQL.ADD ('FROM Справочник');
Datamodule1.FindQuery.SQL.Add ('Where Телефон LIKE   ' ' '+Edit1.txt+' ' ' ');
Datamodule1.FindQuery.SQL.Active:=true;
Form4.showmodal;
Admin: Польземся тегами!
Программа запускается, но ничего не выводит. В свойствах FindQuery, мой старый запрос (SELECT * FROM Справочник ).
Не пойму в чем дело.

Последний раз редактировалось Admin, 18.04.2009 в 12:55.
Ответить с цитированием
  #2  
Старый 18.04.2009, 08:37
lenuxoid lenuxoid вне форума
Прохожий
 
Регистрация: 17.12.2008
Адрес: Оренбург
Сообщения: 20
Репутация: 10
По умолчанию

В новом проете практически тоже самое.
Одно, хорошо поиск осуществляется. Но теперь после завершения работы программы.
в свойствах adoquery - active - false;
sql - Select * from Справочник.
Думаю, что если программно меняется SQL запрос, то в свойствах он тоже должен меняться.
Не пойму.
Ответить с цитированием
  #3  
Старый 18.04.2009, 10:02
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

А с чего вдруг Edit1.txt ? У вас нестандартный контрол?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 18.04.2009, 10:42
lenuxoid lenuxoid вне форума
Прохожий
 
Регистрация: 17.12.2008
Адрес: Оренбург
Сообщения: 20
Репутация: 10
По умолчанию

нет,edit1.Text.
если программно меняется SQL запрос, то в свойствах adoquery он тоже должен меняться!?
Ответить с цитированием
  #5  
Старый 18.04.2009, 11:12
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Меняться то он должен, только исправьте тогда строку
Код:
Datamodule1.FindQuery.SQL.Add ('Where Телефон LIKE ' ' '+Edit1.txt+' ' ' ');
на
Код:
Datamodule1.FindQuery.SQL.Add ('Where Телефон LIKE ' ' '+Edit1.text+' ' ' ');
А еще лучше сделайте с параметром:
Код:
Datamodule1.FindQuery.SQL.Add ('Where Телефон LIKE :Телефон');
Datamodule1.FindQuery.Parameters.ParamValue['Телефон'] := Edit1.text;
И еще, у вас точно связаны друг с другом ADOConnection1,FindQuery,DataSource,Dbgid?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 18.04.2009 в 11:17.
Ответить с цитированием
  #6  
Старый 18.04.2009, 11:47
lenuxoid lenuxoid вне форума
Прохожий
 
Регистрация: 17.12.2008
Адрес: Оренбург
Сообщения: 20
Репутация: 10
По умолчанию

Вы гений! Все работает. Спасибо
Ответить с цитированием
  #7  
Старый 18.04.2009, 18:33
lenuxoid lenuxoid вне форума
Прохожий
 
Регистрация: 17.12.2008
Адрес: Оренбург
Сообщения: 20
Репутация: 10
По умолчанию

Скажите, пожалуйста.
В Свойствах ADoquery введен запрос
SELECT student.*, group.*
FROM student, group
WHERE group.IDgroup=student.IDgroup;

Ошибка синтаксиса в предложении FROM
Вроде все правильно.
Ответить с цитированием
  #8  
Старый 18.04.2009, 18:55
lenuxoid lenuxoid вне форума
Прохожий
 
Регистрация: 17.12.2008
Адрес: Оренбург
Сообщения: 20
Репутация: 10
По умолчанию

Если быть точнее у меня 4 таблицы
----------------------------------------------------------------------
1.speciality | 2.group | 3.student | 4.personalcard |
-----------------------------------------------------------------------
---IDspecial | IDgroup | IDstudent | IDstudent
----------------------------------------------------------------------
NameSpecial | IDplan | IDgroup | datebirt
----------------------------------------------------------------------
----Srok9kl | Namegroup | Fam | gorod
-----------------------------------------------------------------------
------ ----- | IDteacher | Name | region
------------------------------------------------------------------------
------ -----| IDspecial | Otch |obl
------------------------------------------------------------------------

Все они связаны. Мне нужна определенная группа (group) и специальность (speciality) и соответственно список фамилий, студентов и личных данных, для возможности их редактирования.
Поэтому хочу вывести все поля в dbgrid.
1.Правильно ли так сделать.

2. Как правильно написать в свойстве Adoquery!? этот запрос!?

Последний раз редактировалось lenuxoid, 18.04.2009 в 19:09.
Ответить с цитированием
  #9  
Старый 18.04.2009, 20:53
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Попробуйте таблице group дать другое имя. Слово group зарезервировано в SQL.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter