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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.12.2009, 20:43
kriogenoz kriogenoz вне форума
Прохожий
 
Регистрация: 23.12.2009
Сообщения: 4
Репутация: 10
По умолчанию Paradox + Query + ComboBox

Народ, помогите мне пожалуйста,
делал так, на комбобоксе выбирал название столбца, далее при нажатии на кнопку происходит вот что:
EDataBaseError Query1: 'Field 'Racer' not found. Это при то, что отсеевание я ставлю на совсем другой столбец, в чём причина!!!

мой код:
Код:
procedure TForm3.Button1Click(Sender: TObject);
var
  i: integer;
begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('Select ' + ComboBox1.Text +' from "C:\Documents and Settings\1\Рабочий стол\Учёба\informatic\0.8\kurs\Formula1.db"' + 'Order by '+ ComboBox2.Text );
  Query1.Open;
  try
    if ComboBox1.Text <> '*' then
      begin
    Query1.FieldByName('Team').DisplayLabel:= 'Команда';
    Query1.FieldByName('Racer').DisplayLabel:= 'Гонщик';
    Query1.FieldByName('Wins').DisplayLabel:= 'Победы';
    Query1.FieldByName('Nations').DisplayLabel:= 'Национальность';
    Query1.FieldByName('Cup').DisplayLabel:= 'Кубки конструкторов';
    Query1.FieldByName('Pol').DisplayLabel:= 'Поул-позишн';
    Query1.FieldByName('Car').DisplayLabel:= 'Машина';
    Query1.FieldByName('Chum').DisplayLabel:= 'Чемпионств';
   end
  else
   begin
    for i:=0 to ComboBox1.Items.Count-1 do
     if ComboBox2.Text = ComboBox1.Items.Strings[i]
     then Query1.FieldByName(ComboBox2.Text).DisplayLabel:= ListBox1.Items.Strings[i-1];
   end;
 except
 end;
 ComboBox1.Items.Clear;
 ComboBox1.Items.Add('*');
 for i:=0 to Query1.FieldCount-1 do
    ComboBox1.Items.Add(Query1.Fields.Fields[i].FieldName);
    ComboBox2.Items.Clear;
 for i:=0 to Query1.FieldCount-1 do
    ComboBox2.Items.Add(Query1.Fields.Fields[i].FieldName);

 ComboBox1.Enabled:=true;
 ComboBox2.Enabled:=true;
 CheckBox2.Enabled:=true;
 Button2.Enabled:=true;
 Button3.Enabled:=true;
 Button4.Enabled:=true;
 Button5.Enabled:=true;
 Button6.Enabled:=true;
 Button7.Enabled:=true;
 Button10.Enabled:=true;
end;

procedure TForm3.ComboBox1Change(Sender: TObject);
begin
  if ComboBox1.Text <> '*' then
      begin
        ComboBox2.Enabled:=false;
        ComboBox2.Text:= ComboBox1.Text;
      end
  else ComboBox2.Enabled:=true;
end;

procedure TForm3.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
    begin
      Key:=#0;
      Button1.Click;
    end;
end;

procedure TForm3.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
    begin
      Key:=#0;
      Button1.Click;
    end;
end;
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 23.12.2009 в 20:47.
Ответить с цитированием
  #2  
Старый 24.12.2009, 13:02
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

А поле Racer вообще в базе есть? Ты ж ему все равно DisplayLabel присваиваешь.
Ответить с цитированием
  #3  
Старый 24.12.2009, 14:01
kriogenoz kriogenoz вне форума
Прохожий
 
Регистрация: 23.12.2009
Сообщения: 4
Репутация: 10
По умолчанию

да, все поля присутствуют в таблице
Ответить с цитированием
  #4  
Старый 24.12.2009, 15:41
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Попробуйте переписать заново в коде имя поля Racer. Возможно, что одна из букв написана кирилицей. Или наоборот в БД такая бяка.
А вообще, конечно надо програть код пошагово и определится точно в какой строчке происходит ошибка.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 24.12.2009 в 15:44.
Ответить с цитированием
  #5  
Старый 24.12.2009, 16:53
kriogenoz kriogenoz вне форума
Прохожий
 
Регистрация: 23.12.2009
Сообщения: 4
Репутация: 10
По умолчанию

К сожалению нет, с кирилицей всё хорошо.
Вот из трёх запросов только этот не работает.
Может с псевдонимом я где-то ошибся?
Ответить с цитированием
  #6  
Старый 24.12.2009, 21:27
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Так вы определились на какой конкретно строке кода ошибка вылазит?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 24.12.2009, 22:42
kriogenoz kriogenoz вне форума
Прохожий
 
Регистрация: 23.12.2009
Сообщения: 4
Репутация: 10
По умолчанию

Собственно на запросе и происходит
Ответить с цитированием
  #8  
Старый 24.12.2009, 23:55
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Цитата:
Сообщение от kriogenoz
Код:
... from "C:\Documents and Settings\1\Рабочий стол\Учёба\informatic\0.8\kurs\Formula1.db" ...
Никогда не видел подобного, интересно, а это вообще работает?) (Судя по ошибке, должно работать...)

Покажи строку подключения к базе, любопытно очень)
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter