Форум: "Базы";
Поиск по всему сайту: 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.028 c
3-21939           SAN                   2001-12-04 16:01  2002.01.08  
MSSQL


7-22419           Пастор                2001-09-21 10:31  2002.01.08  
У меня Celeron 800 стоит ли его апгрейтить на Pentium III 800 ?


1-22150           Dimich                2001-12-20 13:22  2002.01.08  
Как сделать прокрутку в Panel


6-22312           Leviathan             2001-10-15 00:24  2002.01.08  
Эй, кто разбирается в Indy? Нужна помощь!


1-22084           Mikhalyov Dmitry      2001-12-19 14:53  2002.01.08  
Блокировка события