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

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

В чем беда? [D5, IB5.x, Paradox]


Shved ©   (2002-11-29 13:47:00) 

Такая проблема: есть два формирования запроса в Query:

Form1.Query.Close;
Form1.Query.SQL.Clear;
Form1.Query.SQL.Add("select DRIVER, Bdauto."DAY", Bdauto."AUTO", PROBEG, TONN, Bdauto."TIME", PROC");
Form1.Query.SQL.Add("FROM "BDAuto.DB" Bdauto");
Form1.Query.SQL.Add("WHERE DRIVER = "+#39+"Вася"+#39);
Form1.Query.Open;
Form1.DBGrid1.DataSource:=Form1.DataSource2;CODE>

и

Form1.Query.Close;
Form1.Query.SQL.Clear;
Form1.Query.SQL.Add("select AUTO, Bdauto."DAY", Bdauto."PROBEG", PROBEG, TONN, Bdauto."TIME", PROC");
Form1.Query.SQL.Add("FROM "BDAuto.DB" Bdauto");
Form1.Query.SQL.Add("WHERE AUTO = "+#39+"115 Запорожец"+#39);
Form1.Query.Open;
Form1.DBGrid1.DataSource:=Form1.DataSource2;


В первом случае все работает как надо, а во втором вылетает ошибка, что не понимает AUTO. Как лечить?

И еще: есть DBGrid, сформированый по такому запросу:

select * from DBAuto where DRIVER = "Вася"

Каким образом теперь посчитать сумму в колонке PROBEG во вновь сформированном Grid"e? К каким данным необходимо обращаться при вычислении суммы? Или нужно строить SQL-запрос по-другому?
Если можно, то напишите, пожалста, код - вешаюсь уже с этой проблемой.


Shved   (2002-11-29 15:37:00) [1]

Да, спасибо большое!


Fishka   (2002-11-29 15:16:00) [2]

Да, проще переименовать Fields AUTO в базе. По крайней мере, не надо будет думать о кавычках и т.п.

Если в конце таблицы нужна запись с суммой, то к тексту запроса можно добавить
UNION select "список полей, в первом select, кроме поля PROBEG, вместо которого ыгь(PROBEG) "
from "имя таблицы"
where "те же условия, что и первом select".

Более-менее понятно?


Shved   (2002-11-29 14:07:00) [3]

Видимо, действительно зарезервированное. После вставки кавычек все нормализовалось (в плане ошибок), но теперь сортировки не происходит - выводится пустая строка в гриде. Можно что-нибудь придумать, или проще переименовать Fields в базе?

А по поводу UNION - напишите, пожалуйста код запроса, а то я боюсь сам не разберусь, да и Help глючит (установка кривая была).


Fishka   (2002-11-29 13:56:00) [4]

Ничего не понимаю...
Разве для таблиц IB5.x надо указывать расширение .DB?
А слово AUTO не является зарезервированным?
Если да, то в запросе надо его писать с кавычками "AUTO".

Если необходимо иметь сумму в DBGrid в концеБ то запрос м.б. с использованием UNION(см HELP).



Наверх

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