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

Вниз

проблема с UDF   Найти похожие ветки 

 
Alexander Smith ©   (2004-05-25 00:24) [0]

Здравствуй, уважаемый All! Помоги чем сможешь.

Была поставлена задача написания функции, читающей CSV в InterBase таблицу с помощью UDF.

Уже дошел до маразма, таблицу задал жестко с помощью DataModule.
в DLL пишу следующее.:

var
F_IntegerResult: Integer;

function CSV2IB(var CSV_F_Name): PInteger; cdecl; export;
var
...
begin
...
While (NOT(EOF(F))) and (...) do
begin
IBTable1.Last;
IBTable1.Insert;
...
while (..)//пока не считали всю строку грубо-говоря
begin
 IBTable1.FieldByName(Fields[i]).AsString:=ThisField;//текущее
поле текущей строки из CSV
 ...
end;
IBTable1.Post;
end;
...
Result:=@F_Integer_Result;
...
end;


В IBConsole пишу.:

DECLARE EXTERNAL FUNCTION CSV2IB6
CSTRING(255) CHARACTER SET WIN1251, CSTRING(255) CHARACTER SET WIN1251
RETURNS INTEGER BY VALUE
ENTRY_POINT "CSV2IB" MODULE_NAME "TT_DLL.DLL";

//вызов делаю так.:
SELECT FROMFILETOTABLE("z:\KSQL\t3\source.txt", "") FROM PROBA WHERE 1=1;


может я чего не понимаю, или УДФ вообще для этого не предназначены ?..

З.Ы. вылетает с ошибкой по дисконнекту, таблица не заполняется.


 
jack128 ©   (2004-05-25 00:36) [1]

если я правильно понял,то ты в UDF просто конектишся ктой же базе из которой эта удф вызвана? Я далеко не уверен, что такое проходит безнаказанно..

> function CSV2IB(var CSV_F_Name): PInteger;


> RETURNS INTEGER BY VALUE

ты уверен, что этого хочешь?


 
Alexander Smith ©   (2004-05-25 00:39) [2]

по сути у меня CSV2IB - процедура, и мне вообще ретурн не нужен. но без него не берется запрос..


 
jack128 ©   (2004-05-25 00:44) [3]

так я мое предположение верно? ИМХО проблема в этом..вообще, что странное ты делаешь, проще и надежнее написать простенькую прогу которая делает, то что ты хочешь..


 
Alexander Smith ©   (2004-05-25 00:46) [4]

Будь моя воля, я бы вообще дельфи не запускал для этого.. :-)


 
Alexander Smith ©   (2004-05-25 01:06) [5]

2wisekaa спасибо за твои советы - помогло. По squid - мыльни мне - договоримся о времени, в онлайн режиме вместе все настроим.

С уважением,
Александр Панютин.



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

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

Наверх




Память: 0.45 MB
Время: 0.036 c
1-1085298589
Lessa
2004-05-23 11:49
2004.06.13
окошко программы поверх других окон


14-1085747053
Knight
2004-05-28 16:24
2004.06.13
Посоветуйте программу для фотомонтажа?


3-1085226867
KADAN
2004-05-22 15:54
2004.06.13
перебор всех записей без прорисовки


1-1085738342
RoadStar
2004-05-28 13:59
2004.06.13
Перечислитель окон


1-1085590447
Step[B.M.]
2004-05-26 20:54
2004.06.13
Объединение нескольких документов Microsoft Word в один





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский