![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
QUERY-SQL [D7, XP]
Alex8 © (2007-06-28 12:30:00)Уважаемые мастера!
Подскажите, пожалуйста,где я ошибаюсь.
Есть форма с такими компонентами:
DBGrid1 ( DataSource = DataSource1),
DataSource1 (DataSet = Query1),
Query1 ( DataBaseName = MyBD,
SQL='SELECT * FROM Table1',
Редактором полей включены все поля из Table1:
ikod, cName и т.д.),
Button1 (procedure buton1Click(Sender: TObject);
Var zapros:String;
begin
Zapros := 'Select * From Table1';
Query1.Active := False;
Query1.SQL.Clear;
Query1.SQL.Add(zapros);
Query1.Active := True;
end;)
В этом варианте все работает.
Но стоит в Zapros заменить * на имя любого поля из Table1
(Например 'Select cName From Table1'), то при выполнении
оператора Query1.Active := True; выдается ошибка
"Поле iKod не найдено ". iKod - первый в списке полей.
Не могу понять в чем дело. Спасибо
homm (2007-06-28 14:56:00) [21]> Никогда не используй * в запросе, разве только для тестовых целей.
Меньше знаешь, крпче спишь? :)
Anatoly Podgoretsky (2007-06-28 14:55:00) [22]> Alex8 (28.06.2007 14:18:03) [3]
Никогда не используй * в запросе, разве только для тестовых целей.
Alex8 (2007-06-28 14:18:00) [23]>Редактором полей DBGrid? Если да, то все правильно,
будет ошибка.
Речь идет о редакторе полей в Query
А пользуюсь я им, чтобы получить русские заголовки
граф в Гриде из DisplayLabel, т.к. AS в SELECT
не обрабатывает букву "ч" и требует заголовков из
одного слова. Kак обойти эту проблему.
Можно было бы пойти на * , чтобы сделать лишние
поля невидимыми, но в Table1 ecть вычисляемые поля.
pavel_guzhanov (2007-06-28 12:36:00) [24]
> Редактором полей включены все поля из Table1:
> ikod, cName и т.д.),
Редактором полей DBGrid? Если да, то все правильно, будет ошибка. Ты же указал, что в грид надо помещать значения всех полей, а запросом выдаешь значение только одного поля. Чтобы работало все корректно, не надо редактором полей ничего делать, очистить его надо. Тогда в гриде будут отображаться только поля, которые возвращает запрос.
Плохиш (2007-06-28 12:32:00) [25]
> Не могу понять в чем дело. Спасибо
Дело вот в этом
> Редактором полей включены все поля из Table1:
> ikod, cName и т.д.),