Главная страница
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.019 c
1-61635
mike-d
2002-12-06 20:44
2002.12.19
screen saver и мое приложение


3-61432
{bas}
2002-11-28 15:35
2002.12.19
Optimizer=CHOOSE


3-61510
Scorp
2002-12-02 23:01
2002.12.19
Как безболезненно установить базу данных на другой комп


1-61537
Lizerginnn
2002-12-09 14:53
2002.12.19
Работа с


1-61613
MVVD
2002-12-10 14:00
2002.12.19
Чудеса с Memo