Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Как считать содержимое файла чтобы загнать его в blob базы   Найти похожие ветки 

 
ilias1979   (2005-02-23 13:57) [0]

Здравствуйте, мне необходимо полностью считать содержимое любого произвольного файла будь то doc, xls, rtf, bmp, jpg в переменную, чтобы потом загнать ее в blob поле FireBird. Хотелось бы чтобы эта переменная в результате имела тип string. Так как, как я понимаю именно этому типу delphi соответствуют blob поля FireBird. Как правильнее такое реализовать и что неправильно в моем коде который выдает access violation. (сдается мне что я сильно туплю и решение гораздо проще)

Функция извлечения из файла инфы

FileReadIL(fileName:string):string;
var
f:HFILE;
FileSize,i:integer;
buffer:array of char;
stroka:string;
begin
f:=_lopen(PChar(fileName), OF_READ);
FileSize:=_llseek(f,0, FILE_END);
SetLength(buffer,FileSize);
_llseek(f, 0, FILE_BEGIN);
_lread(f,@buffer,FileSize);
_lClose(f);
stroka:="";
for i:=0 to (fileSize-1) do
  stroka:=stroka+buffer[i];
result:=stroka;
end;

собственно вызов функции и загон инфы в базу

if opendialog1.Execute then
begin  
 content:=FileReadIL(opendialog1.FileName);
 memo1.text:=content;
 ibquery1.Params[0].AsBlob:=content;
 ibdatabase1.Connected:=true;
 ibtransaction1.StartTransaction;
 ibquery1.ExecSQL;
 ibtransaction1.Commit;
end;


 
Плохиш ©   (2005-02-23 14:16) [1]

Ключевое слово для справки TBlobField, там даже примеры есть.


 
Eraser ©   (2005-02-23 14:38) [2]

ilias1979

И TBlobStream...


 
ilias1979   (2005-02-24 14:41) [3]

Спасибо, все как Вы и говорили оказалось проще
На самом деле я сильно тупил
Вместо моей длинной API функции достаточно написать одну строку и все на удивление работает
IBQuery1.Params[0].LoadFromFile(OpenDialog1.FileName, ftBlob);



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

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
6-1106490025
M@D
2005-01-23 17:20
2005.03.27
Компьютер по IP


3-1109700634
mefisto
2005-03-01 21:10
2005.03.27
Подключение файлов .mdf и .ldf сервера MSSQL7 к MSSQL2000


14-1110342902
КаПиБаРа
2005-03-09 07:35
2005.03.27
"Женская" и "мужская" музыка


3-1109250563
Антоныч
2005-02-24 16:09
2005.03.27
Помогите составить SQL-запрос


1-1110466961
markers
2005-03-10 18:02
2005.03.27
Stream/BlowFish-TurboPower