Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Вниз

Вычисляемые поля   Найти похожие ветки 

 
Fedor   (2004-12-10 18:44) [0]

Здравствуйте господа. Подскажите пожалуйста, как создать вычисляемое поле в IBDataSet. А если в общем, то есть две связанных таблицы(главная - база клиентов, присоединеная - их начисления( в одном столбце которой - отрицательные числа, в другом - положительные). Задача в следующем, определить за период времени сумму каждого столбца.


 
clickmaker ©   (2004-12-10 18:47) [1]

FieldKind = fkCalculated
DataSet.OnCalcField


 
Fedor   (2004-12-10 18:53) [2]

Это свойство нужно установить именно у того поля которое вычисляем? А где будет хранится вся сумма?


 
clickmaker ©   (2004-12-10 18:54) [3]


> [2] Fedor   (10.12.04 18:53)
> Это свойство нужно установить именно у того поля которое
> вычисляем? А где будет хранится вся сумма?

Сумма не будет хранится, а будет вычисляться при открытии  датасета, а если выставишь флажок AutoCalcFields, то и при любом изменении в датасете


 
Fedor   (2004-12-10 18:57) [4]

А где мне её узнать?


 
zz 5 ©   (2004-12-10 19:57) [5]

Например так:
DataSet.FieldByName("Имя вычисляемого поля").AsFloat


 
Johnmen ©   (2004-12-10 21:50) [6]

>clickmaker ©  (10.12.04 18:54) [3]
>будет вычисляться при открытии  датасета

Скажем так, что при каждом обращении к вычисляемому полю, явному или нет...


 
}{ander ©   (2004-12-10 23:10) [7]

Здается мне, что... "может, в консерватории подправить" © М.Жванецкий

Из того, что ты сказал, сложно предложить что-то конкретное (не видя структур таблиц и точной постановки вопроса), но, мне кажется, что все это можно замечательно сделать при помощи стандартного SQL. Работать это будет намного быстрее, чем вычисляемые поля, которые ты будешь вычислять, соответственно, на клиенте, гоняя весь трафик по сети.


 
Fedor   (2004-12-11 04:33) [8]

>}{ander
 В книге Фаронова.В"Программирование баз данных в Delphi 7" описываются вычисляемые столбцы с помощью спецификатора COMPUTED, но ничего нет про вычисляемые поля на SQL. Если можно расскажите пожалуйста про этот способ.


 
Fedia ©   (2004-12-11 08:10) [9]

Тут уже нужно читать книги типа "Понимание Sql" Мартина Грубера.
Вот пример:
select (a + b) as c from MyTable
Здесь в результате Sql запроса будет получено поле "c", являющееся суммой полей "a" и "b" таблицы "MyTable"


 
}{ander ©   (2004-12-11 11:43) [10]

// описываются вычисляемые столбцы с помощью спецификатора COMPUTED

Ты пытаешься слить воедино две разные вещи: вычисляемые поля (calculated)DataSeta и Computed-поля сервера. Но это - совершенно разные вещи: первые вычисляются на клиенте, вторые на сервере.

// Если можно расскажите пожалуйста про этот способ

Как и [9] - читать книжки по SQL.


 
Johnmen ©   (2004-12-12 01:17) [11]

Fedia ©

Надо понимать разницу в
1. Вычисляемые поля в таблице.
2. Вычисляемые поля в запросе.
3. Вычисляемые поля в наборе данных.


 
Fedia ©   (2004-12-13 05:14) [12]

Надо.


 
Sergey13 ©   (2004-12-13 10:43) [13]

2Fedor   (10.12.04 18:44)
> Задача в следующем, определить за период времени сумму каждого столбца.
Здается мне, вычисляемые поля тут вообще не при чем. Запрос с группировкой нужен, ИМХО.



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

Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.06 c
14-1104326972
Рамиль
2004-12-29 16:29
2005.01.16
Настройка eMule в локальной сетке


3-1103013844
Garry_c
2004-12-14 11:44
2005.01.16
Русский текст в Delphi при использовании Interbase компонентов


14-1104016327
Narik
2004-12-26 02:12
2005.01.16
СРОЧНО!!! связь с файлами!!!


14-1104398505
syte_ser78
2004-12-30 12:21
2005.01.16
проблемка с фильтрацией записей.


14-1104049679
Fin
2004-12-26 11:27
2005.01.16
Расчет платежа за электроэнергию.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский