![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Народ, помогите мне пожалуйста,
делал так, на комбобоксе выбирал название столбца, далее при нажатии на кнопку происходит вот что: 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, 23.12.2009 в 20:47. |
|
#2
|
||||
|
||||
|
А поле Racer вообще в базе есть? Ты ж ему все равно DisplayLabel присваиваешь.
|
|
#3
|
|||
|
|||
|
да, все поля присутствуют в таблице
|
|
#4
|
||||
|
||||
|
Попробуйте переписать заново в коде имя поля Racer. Возможно, что одна из букв написана кирилицей. Или наоборот в БД такая бяка.
А вообще, конечно надо програть код пошагово и определится точно в какой строчке происходит ошибка. Последний раз редактировалось Страдалецъ, 24.12.2009 в 15:44. |
|
#5
|
|||
|
|||
|
К сожалению нет, с кирилицей всё хорошо.
Вот из трёх запросов только этот не работает. Может с псевдонимом я где-то ошибся? |
|
#6
|
||||
|
||||
|
Так вы определились на какой конкретно строке кода ошибка вылазит?
|
|
#7
|
|||
|
|||
|
Цитата:
Покажи строку подключения к базе, любопытно очень) |