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




Вниз

про SQL 


SklifF   (2001-12-05 11:32) [0]

Можноли в SQL использовать функции написанные в делфях, т.е.
к примеру
function(..)
begin
end;

sql.add("select function (...) as .. from...")



Nest   (2001-12-05 11:34) [1]

Мягко говоря- НЕТ!



SklifF   (2001-12-05 11:57) [2]

begin
sql.clear;
sql.add("select (sum(Tel."Hour")*3600 + sum(Tel."Min")*60 + sum(Sec)) as sec_time from "Tel.db" Tel ");
sql.add("where Tel.Telephon Like "8%" and Tel.Nomber="+#39+ComboBox1.Items[ComboBox1.ItemIndex]+#39);
Open;
ComboBox1.SetFocus;
end;
а как тогда в этод код вставить функцию деления на целое..т.е. mod(x,y)



Ghost   (2001-12-05 11:59) [3]

Почему нет? оформляешь функцию в виде dll, подцепляешь к SQL-серверу в виде UDF и юзай на здоровье, где и как хочешь.
Напрямую же из Delphi естественно функцию никто, кроме твоей проги не знает и не видит, т.е. каким образом SQL-сервер узнает о ее существовании?



SklifF   (2001-12-05 12:22) [4]

а что с последним моим вопросом?



Val   (2001-12-05 13:14) [5]

>SklifF (05.12.01 12:22)
Вы ответы читаете на свои вопросы? По-моему эта ветка практически повторяет вашу предыдущую.



strahov   (2001-12-05 15:16) [6]

Для InterBase сервера фмрмы Боман - можно см. <Ghost>. Необходимо знать о совместимости параметров. Полученную .dll помещаешь BIN Дельфы или в патче оси. Каждая ф-ция определяется оператором declare external function.
Пример:
function f1(par:integer):integer;cdecl;export
begin
...
end;
...
exports f1;

на стороне сервера

declare external function MeFunc integer
returns integer by value
entry_point "f1"
module_name "myudf.dll"

Успехов



Dick   (2001-12-05 21:43) [7]

Если это не аггрегатная ф-ция, то можно использовать вычисляемые поля.



Dick Gonsales   (2001-12-06 07:18) [8]

Вариант 1
Если твой SQL сервер не держит mod(), then
1. Создать на нем StoreProc которая возвращет курсор
fetch cursor
a=x/y
a - урезаешь(не округляешь) дробную часть
x-a= дает тебе остаток целочисленного деления x на y.
next

Вариант 2
В Delphi в DBGird вешаешь вычисляемое поле по
выше приведенному алгоритму.




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




Наверх





Память: 0.73 MB
Время: 0.018 c
3-21973           Zav                   2001-12-06 10:55  2002.01.08  
Компонент DBNavigator


6-22271           Victor                2001-10-04 20:15  2002.01.08  
при конекте не появлялось удаленное соединение????


3-21989           Борис                 2001-12-06 15:50  2002.01.08  
При написании запроса в TQuery загружаются все записи.


14-22375          Nemeis                2001-11-07 14:08  2002.01.08  
И опять про Ламеров ;)


4-22480           amamed_3071           2001-11-03 10:09  2002.01.08  
Print to Epson printer