Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

QUERY-SQL [D7, XP]


Страницы:   1 2

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]

> Никогда не используй * в запросе, разве только для тестовых целей.

Так как решить проблему?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо