-
Возникает проблема, при загрузки рисунка из БД в TImage загружается только черный фон и больше ничего. Что делать?
Загрузка в БД:
Query1.SQL.Clear;
Query1.SQL.Text := 'exec Proc_AddImage @im=:im';
Query1.ParamByName('im').LoadFromFile('C:\1.bmp', ftBlob);
Query1.ExecSQL;
загрузка рисунка из БД в TImage:
var
s:TMemoryStream;
begin
s:=TMemoryStream.Create;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'SELECT Pic_Name, Pic FROM Tab_Pictures WHERE Id_Pictures = 4';
Query1.Open;
(Query1.FieldByName('Pic') as TBlobField).SaveToStream(s);
s.Position := 0;
Image1.Picture.Bitmap.LoadFromStream(s);
s.Free;
end;
-
-
-
> ответа там на него нет.
Ответа на него там есть. Дальше проверяй программу - что как и где ты грузишь в БД и как потом выгружаешь.
-
Загружаю картинку, выгружается непонятно что. код программы приведен выше. если возможно подскажите где ошибка и как исправить т.к. с такой задачей сталкиваюсь впервые.
-
> если возможно подскажите где ошибка и как исправить
Воспользоваться волшебными кнопками F5, F7 и F8
-
прогнал программу в переменную s ничего вроде не записывается только почему не понял?
-
> прогнал программу в переменную s ничего вроде не записывается
> только почему не понял?
Учись отлаживать программу. Программист ты, или кто?
-
> KirillRepin © (15.09.08 10:03) [2]
> да это повторение вопроса т.к. ответа там на него нет.
Ответ есть в справке к методу LoadFromStream класса TPicture, последняя строчка.
-
попробовал через DBImage тот же результат - черное поле.
честно говоря уже голова кипит и несоображает что с этим делать?
-
> Ответ есть в справке к методу LoadFromStream класса TPicture,
> последняя строчка.
может справка кривая но у класса TPicture нет метода LoadFromStream
-
KirillRepin © (15.09.08 11:19) [10]
Сделай тоже самое через ADO.
-
Блин, ну попробуй ты сохранить его не в стрим, а в файл C:\2.bmp и открыть его редактором.
-
> попробуй ты сохранить его не в стрим, а в файл C:\2.bmp
> и открыть его редактором.
сделал и открыл редактором. открылось только 3-5% рисунка с низу остальное все черное.
код:
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Text := 'SELECT Pic_Name, Pic FROM Tab_Pictures WHERE Id_Pictures = 4';
Query3.Open;
(Query3.FieldByName('Pic') as TBlobField).SaveToFile('C:\2.bmp');
-
блоб незафетчен полностью
-
> Поросенок Винни-Пух © (15.09.08 11:51) [14]
>
> блоб незафетчен полностью
это как понять?
-
это как понять?
открылось только 3-5% рисунка
-
> Поросенок Винни-Пух © (15.09.08 11:56) [16]
>
> это как понять?
>
> открылось только 3-5% рисунка
а как с этим справится?
-
> сделал и открыл редактором. открылось только 3-5% рисунка
> с низу остальное все черное.
BDE Administrator - настойка твоего алиаса - BLOB SIZE поменяй с 32 на 999
-
зафетчить блоб целиком