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

Вниз

Возможно ли (D7, DBase)   Найти похожие ветки 

 
paul_k ©   (2003-08-25 09:41) [0]

Не подскажут ли уважаемые, понимает ли DBase функцию round, и если понимает то как её правильно присенить.
есть код вида
q_tmp:=tQuery.Create(nil)
q_tmp.Database:="MyDb";
q_tmp.Sql.add("select sum(field1*field2) as sum_total from table");
q_tmp.open;
sum_total:=MyRound(q_tmp.FieldByName("sum_total").asfloat,2)
q_tmp.close

Есть ли способ (кроме перебора каждой записи по циклу) написать так
q_tmp:=tQuery.Create(nil)
q_tmp.Database:="MyDb";
q_tmp.Sql.add("select round(sum(round(field1,2)*round(field2,2)),2) as sum_total from table");
q_tmp.open;
sum_total:=MyRound(q_tmp.FieldByName("sum_total").asfloat,2)
q_tmp.close

Пробовал - передергиваю запрос - не работает. Ругается на ошибку в SQL
Как правильно написать это округление, или где об этом можно почитать?


 
sniknik ©   (2003-08-25 11:05) [1]

DBase наверняка понимает, если ты о самом DBase а не о Local SQL в BDE.

> Есть ли способ (кроме перебора каждой записи по циклу) написать так
можно для округления CAST к целочисленному типу использовать (наверное), или сделать вычисляемое поле уже в дельфях независимо от запроса. а можно так (с дробями) оставить а по GetText выводить как нужно. можно в отчете округлять. все в зависимости от задачи.

> Как правильно написать это округление, или где об этом можно почитать?
книги, Local SQL Help (в дельфях).


 
paul_k ©   (2003-08-25 11:19) [2]

Задача простая:
получить для дальнейших расчетов сумму округленных значений.
если обращатся с запросом, аналогичным тому, я выше написал, к SYBASE? ил и MsSql - все работает как надо. а вот как к DBase select писать - не понимаю


 
paul_k ©   (2003-08-25 11:39) [3]

да и ещё в ту-же тему.
можно ли к DBAse (если можно то как) написать подобное

declare @id numeric
select @id=3

select
case @id
when 4 then @id*4
when 3 then @id*5
end


то есть как case в селекте сделать


 
sniknik ©   (2003-08-25 11:44) [4]

> если обращатся с запросом, аналогичным тому, я выше написал, к SYBASE? ил и MsSql - все работает как надо.
синтаксис и возможности любого SQL сервера различаются. а уж сравнивать по возможностям с Local SQL ...
> а вот как к DBase select писать - не понимаю
1 используй то что есть, почитай хелп по Local SQL.
2 переходи на другой движок, начни с хелпа по нему.

> да и ещё в ту-же тему.
> можно ли к DBAse (если можно то как) написать подобное
в DBAse может быть и можно, в Local SQL нет. никакиж декларирований никаких селектов...
(ты же не используеш DBase ты используеш BDE и Local SQL с таблицами в формате DBase)


 
paul_k ©   (2003-08-25 11:59) [5]

>2 переходи на другой движок, начни с хелпа по нему.
Рад бы в рай, да заказчики не пускают
> никакиж декларирований никаких селектов
По поводу деклараций понятно что нет. Хотя не понятно почему этот запрос к Sybase нормально работает через BDE или там не Local SQL уже работает...
а вот никаких селектов? непонятно... или имелось в виду никаких case?


 
paul_k ©   (2003-08-26 19:26) [6]

Спасибо за полноценный и исчерпывающий ответ.
Понял что придедся каждую запись обрабатывать. бедные юзверя.


 
sniknik ©   (2003-08-26 20:28) [7]

> а вот никаких селектов? непонятно... или имелось в виду никаких case
именно, зарапортовался.

> Понял что придедся каждую запись обрабатывать. бедные юзверя.
ну зачем же так, не все так плохо кое какие возможности всетаки есть.

> Рад бы в рай, да заказчики не пускают
ну структуру и формат базы никто не заставляет менять а как у тебя там внутри не все ли равно?
к примеру перейдя на ADO - Jet - dBase уже больше возможностей. к примеру case (как в MSSQL) = iif(условие, если правда, если ложь) или наоборот (для более полного возможны вложения).


 
paul_k ©   (2003-08-27 19:49) [8]

Проще новый софт написать ...
и сразу или на MsSql опереть, ну или на Acсess
С вопросом выкрутился, просто убедил что жили 2 года без отчета и еще проживут, пока новый софт написать не укажут....
а за подсказку c ADO - большое спасибо. буду пробовать



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
1-58757
Андрей П
2003-09-06 02:27
2003.09.18
Проблема с сохранением свойств компонента


4-58979
DimaS
2003-07-17 13:42
2003.09.18
Как проинсталлировав файл шрифта, затем что то им написать?


14-58867
MIKL
2003-08-29 15:21
2003.09.18
Оператор задержки?


1-58677
Dmitriy M. Volkov
2003-09-01 22:30
2003.09.18
скрытая форма


1-58675
Молодой человек
2003-09-04 20:21
2003.09.18
Вопрос по PageControl у