|
Сложение столбцов
|
|||
---|---|---|---|
#18+
Столкнулся с проблемой: в Selecte вычисляю значения (например поле1*поле2), так вот результат получаю верный, но он распознаётся как строка. Нашёл эти грабли, когда попытался сделать суммирование по столбцу в FR и получил результат типа: -170.12-210.13-18.16 Думал ФР, после попіток победит средствами ФР, начал думать, что дело в запросе. Выложил грид(cxGrid), засунул в него результаты, и сделал подсчёт в footere - ругнулось мол не можект конвертнуть оле-строку в флоат. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 14:57 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
Можно ли как-то в запросе изменить разделитель целой и дробной части числа с "." на "," ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 15:26 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
Dmitry YМожно ли как-то в запросе изменить разделитель целой и дробной части числа с "." на "," ???Это не нужно. В запросах используй точку. При выводе на экран используй тот разделитель который твоя винда считает правильным. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 19:54 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
И все-таки, почему "вычилсяемые" столбцы воспринимаются как строковые? Пример: Код: sql 1.
в результате получаем строковые данные, т.е. не то что бы я гридом мог работать как с числом, даже родные утилиты воспринимают их как текст (выравнивания чисел по правому краю, а текста по левому). Да я при работе с отчётными системами в ручную делаю конвертацию, а вот если я гриду хочу добавить "футер" в котором будут отображаться автосума, среднее и т.п. - то тогда или голяк, или бери считывай все данные, делай грид "ручным" и заливать туда данные не с датасоурса, а ручками предварительно конвертнув. Ну и представляете как "быстро" обработаются данные в кол-ве 1000, а 10000??? ЭТО БРЕД!!! Можно ли как то сделать так, что бы принудительно указать тип возвращаемого значения "вычисляемого" столбца. ЗЫ: уж тем более это проблема касается таких полей как "Stolbec1 as Float * Stolbec2 as Float" = TEXT ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2014, 11:05 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
Опять же можно сгенериовать запрос, и запихнуть его в темпори тейбл, где принудительно указать тип данных, но ведь это тоже изврат, время и более сложный механизм, а чем сложнее механизм тем больше вероятность "поломок"! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2014, 11:07 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
Читать до просветления: http://sqlite.org/datatype3.html ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2014, 18:36 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
White Owl, А по человечески? Это я читал, но ничего для себя не нашёл. К примеру, Код: sql 1.
возвращает integer а фактически когда убираю typeof получаю на выходе string и соответственно не могу использовать силу грида CAST как я уже писал, так же не помогает! Решения на предложенном вами мануале не нашёл! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 12:39 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
Dmitry Y, А ты какие компоненты в делфях используешь для TDataSet-а может в них баг и они не умеют делать корректно describe типов полей из sqlite и когда что-то не понятное - тупо создают TStringField создай явно экземпляр типа TFloatField? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 13:12 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
PPA, Я использую cxGrid, FastReport4 -все они воспринимают данные как строку. Ну в FastReport4 есть возможность написания скрипта, т.е. решить проблему, а с гридом всё уныло. Более того, утилиты (sqliteexpert, sqliteadmin) они при выводе данных "форматируют" вывод данных, т.е. текст выравнивается по левой стенке столбца, а число по правой - и у них результат "форматируется" как текст, т.е. по левой стенке. Так что вероятность что 2 компонента+2 утилиты и все "бракованные" - неимоверно мал! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 14:10 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
А в cxGrid указать тип как int или float пробовал, он автоматом меняется на строку :( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 14:12 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
Dmitry YА в cxGrid указать тип как int или float пробовал, он автоматом меняется на строку :( Может я уже подзабыл как VCL работает :) но у вас грид от девок к какому источнику данных цепляется? есть ведь наследник от TDataSet ? вот там и попробуйте указать типы полей ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 15:54 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
PPADmitry YА в cxGrid указать тип как int или float пробовал, он автоматом меняется на строку :( Может я уже подзабыл как VCL работает :) но у вас грид от девок к какому источнику данных цепляется? есть ведь наследник от TDataSet ? вот там и попробуйте указать типы полей Датасет TZQuery от Zeos. Указать тип поля там негде. Есть как я сказал в гриде, но оно "меняется" само на тот тип, который возвращает запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 17:04 |
|
Сложение столбцов
|
|||
---|---|---|---|
#18+
Dmitry YДатасет TZQuery от Zeos. Указать тип поля там негде. с этой либой не работал но тип поля не указывается в виде проперти а явно создается в виде экземпляра нужно класса TFiled - есть базовый класс и от него куча наследников TFloatField TIntegerField TStringField .... так вот когда датасет создается - он создает экземпляры нужных типов сам (если их заранее не создали) у тебя наверно глючит что-то и создается в автомате TStringField вместо TFloatField найди причину и поправь у датасета есть ведь в контекстном меню - пункт FieldsEditor или что-то вроде такого. у тебя в нем пусто? а cxGrid тут по-моему вообще не причем. он выбирает уже визуальные контролы для удобной редакции ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2014, 19:49 |
|
|
start [/forum/topic.php?fid=54&msg=38602914&tid=2008803]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 438ms |
0 / 0 |