![]() |
| ||
|
|
Новости |
Поиск |
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 - первый в списке полей.
Не могу понять в чем дело. Спасибо
Alex8 (2007-06-29 15:10:00) [1]> Уже объяснили, повторяться что ли?
Ну не надо. Не переутомляйтесь.
Anatoly Podgoretsky (2007-06-29 14:49:00) [2]> Alex8 (29.06.2007 14:39:23) [23]
Уже объяснили, повторяться что ли?
Alex8 (2007-06-29 14:39:00) [3]> Как баран, право слово, ему всю ветку твердят....
Ну ругаться-то зачем. Лучше объяснил бы в чем дело
(если хочешь помочь).
Для сведения (на всякий случай): Полей в Qabr нет
Anatoly Podgoretsky (2007-06-29 14:33:00) [4]> Плохиш (29.06.2007 14:14:21) [21]
Возможно и есть, но советы он слушать не хочет.
Плохиш (2007-06-29 14:14:00) [5]
> Alex8 (29.06.07 13:59) [20]
А я АДО верю, что у тебя поля в таблице нет.
> Qabr.SQL.Clear;
> Qabr.SQL.Add(zpr);
Как баран, право слово, ему всю ветку твердят, как запросы присваивать надо, а он упёрся :-(
Alex8 (2007-06-29 13:59:00) [6]> Крнкретный код давай, который не пашет.
procedure TfrmAbr.btAbrClick(Sender: TObject);
Var zpr:String;
begin
// zpr := 'Select * FROM Tiz'; Здесь все проходит
zpr := 'Select Tiz.Mesto FROM Tiz'; // А здесь ошибка
Qabr.Active := False;
Qabr.SQL.Clear;
Qabr.SQL.Add(zpr);
Qabr.Active := True;
end;
homm (2007-06-29 13:32:00) [7]> Р1-это условно.
Крнкретный код давай, который не пашет.
Плохиш (2007-06-29 12:53:00) [8]
> Р1-это условно.
Всё, счастливо оставаться...
Alex8 (2007-06-29 12:41:00) [9]СУБД- PARADOX.
Имя поля написано Латынью.
Р1-это условно.
Johnmen (2007-06-29 12:23:00) [10]Вычисляемое поле в таблице... А что за СУБД?
Плохиш (2007-06-29 12:22:00) [11]
> Может стоить по английски написать P1 ?
Или в запросе по-русски :-)
homm (2007-06-29 12:16:00) [12]Может стоить по английски написать P1 ?
Alex8 (2007-06-29 12:02:00) [13]Понятно. Прошу прощения, но у меня еще 1 вопрос.
В Table1 есть вычисляемое поле Р1.
Если SELECT * FROM Table1 ,
то Р1 Нормально отображается в соответствующем DBGrid,
а при SELECT Р1 FROM Table1
выдается "Invalid field name P1 ".
Где-то портачу ?
ЮЮ (2007-06-29 09:54:00) [14]Он должен быть пустым в случае изменяемого в RunTime текста запроса. Если он не миняется, то может быть заполнен и настроен и в Disign-е
Johnmen (2007-06-29 09:20:00) [15]Где угодно. Кроме как на полевых работах...
Alex8 (2007-06-29 08:26:00) [16]Все понял. Спасибо.
Только возник дополнительный вопрос.
Если редактор полей в Query д.б. пустым, то
где он может использоваться ?
Anatoly Podgoretsky (2007-06-28 15:47:00) [17]> Alex8 (28.06.2007 15:03:06) [6]
Тебе уже ответили
Johnmen (2007-06-28 15:18:00) [18]Заведи массив соответствия настоящих имен полей и отображаемых.
После получения набора данных проходи по коллекции полей и подставляй DisplayLabel.
Плохиш (2007-06-28 15:18:00) [19]
> А пользуюсь я им, чтобы получить русские заголовки
> граф в Гриде из DisplayLabel, т.к. AS в SELECT
Это что ли проблема? Так и присвой заголовки столбцам в гриде, вся информация есть в справке...
Alex8 (2007-06-28 15:03:00) [20]> Никогда не используй * в запросе, разве только для тестовых целей.
Так как решить проблему?