Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

В чем беда?   Найти похожие ветки 

 
Shved ©   (2002-11-29 13:47) [0]

Такая проблема: есть два формирования запроса в 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-запрос по-другому?
Если можно, то напишите, пожалста, код - вешаюсь уже с этой проблемой.


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

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

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




 
Shved ©   (2002-11-29 14:07) [2]

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

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


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

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

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

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


 
Shved ©   (2002-11-29 15:37) [4]

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



Страницы: 1 вся ветка

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-61476
victor_ch
2002-12-02 11:56
2002.12.19
Уменьшение потребления памяти


1-61523
dimonf
2002-12-09 10:13
2002.12.19
Передача данных в TreeView!


3-61459
Arick
2002-11-30 23:53
2002.12.19
Вставка записи


7-61850
nickolayLI
2002-10-16 16:34
2002.12.19
Блокировка экрана


14-61777
Snap
2002-11-28 02:37
2002.12.19
Любой мессидж