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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2008, 23:26   #1
Luna_13
Пользователь
 
Регистрация: 19.09.2008
Сообщений: 13
Вопрос БД работа с Query

Помогите пожалуйста разобраться почему не работает запрос.
------
Есть таблица с данными о сотрудниках (Table1), DataSourse1 и Query1.
В настройках Table1, указала DatabaseName и TableName, Active=True.
В настройках DataSource указала DataSet=Tabel1.
В Query1 - DatabaseName и DataSource=DataSource1.
-----
Далее в коде кнопки запроса пишу такой код:
Код:
procedure TGlavn.BitBtn1Click(Sender: TObject);
var
    fam:string;
begin
      fam:=InputBox('Поиск информации','Укажите фамилию','');
          if fam<>''then
  begin
     with Glavn.Query1 do begin
        close;
           Sql.Clear;

     SQL.Add('Select Fam,Name,Adres,Tel');
     Sql.Add('From Anketa');
     Sql.Add('Where');
     SQL.Add('fam');
     Sql.Add('Order By Name, Fam');
         Open;
end;
      if Query1.RecordCount <>0 then
            DataSource1.DataSet:=Query1
     else begin
         ShowMessage('Нет записей по вашему запросу');
            DataSource1.DataSet:=Table1;
 end;
    end;
-------
При запуске проги, выводится окно, ввожу фамилию, жму ок - выдает ошибку: "Project Sotrud.exe raised exception class EDBEngineError with message 'Invalid use of keyword. Token:Order Line Number 5'"


Скажите пожалуйста, что неправильно.
Luna_13 вне форума Ответить с цитированием
Старый 20.09.2008, 00:07   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Ну, конечно...
Посмотри на свой запрос одной строкой...
Код:
SQL.Add('Select Fam,Name,Adres,Tel');
     Sql.Add('From Anketa');
     Sql.Add('Where');
     SQL.Add('fam'); /// чему равно fam ?????????(fam = fam)
(не обзывай переменные так же как и названия полей - запутаешься)
     Sql.Add('Order By Name, Fam');
_SERGEYX_ вне форума Ответить с цитированием
Старый 20.09.2008, 10:40   #3
Luna_13
Пользователь
 
Регистрация: 19.09.2008
Сообщений: 13
По умолчанию

Надо так?
Если так, то у меня все равно не работает...
Извиняюсь, если я туплю..

Код:
procedure TGlavn.BitBtn1Click(Sender: TObject);
var
    f:string;                         //поменяла
begin
   f:=InputBox('Введите фамилию','');     //поменяла
if f<>''then
 begin
   with Glavn.Query1 do begin
    close;
  Sql.Clear;

 SQL.Add('Select Fam,Name,Adres,Tel');
 Sql.Add('From Anketa');
 Sql.Add('Where');
 SQL.Add('f');                         //поменяла
 Sql.Add('Order By Name, Fam');
 Open;
end;
Luna_13 вне форума Ответить с цитированием
Старый 20.09.2008, 10:50   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
 
with form2.Query1 do
  begin
   Close; // закрыть файл-результат выполнения предыдущего запроса
   SQL.Clear; // удалить текст предыдущего запроса
   // записываем новый запрос в свойство SQL
   SQL.Add('SELECT *');
   SQL.Add('FROM Anketa');
   SQL.Add('WHERE');
   SQL.Add('(Fam LIKE "'+ f+'%' + '")');//по части слова
   //SQL.Add('(Fam = '" + fam + '")');по целому слову
   SQL.Add('ORDER BY Name, Fam');
   Open; // активизируем выполнение запроса
  end;
SERG1980 вне форума Ответить с цитированием
Старый 20.09.2008, 22:16   #5
Luna_13
Пользователь
 
Регистрация: 19.09.2008
Сообщений: 13
По умолчанию

Спасибо:-)))
Все работает
Luna_13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Query artemavd БД в Delphi 1 24.08.2008 10:34
QUERY werser Помощь студентам 2 10.06.2008 19:13
Query mma БД в Delphi 5 17.02.2008 22:11
отобразить query в 3-х dbgrid Nuts БД в Delphi 0 03.09.2007 18:19