Форум: "Базы";
Поиск по всему сайту: 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.72 MB
Время: 0.049 c
4-22493           mangoost              2001-11-05 12:06  2002.01.08  
Как обойти Access violation при попытке записи(+)


1-22060           Atrem                 2001-12-18 19:18  2002.01.08  
Метод Insert Richedit-а


6-22294           s                     2001-10-10 13:50  2002.01.08  
SOAP examples


4-22473           amamed_3071           2001-11-02 13:46  2002.01.08  
Epson Printer commands


7-22448           Станислав             2001-09-11 15:24  2002.01.08  
Данные на дискете