![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение рисунков в MSSQL [D5, MSSQL]
Женя_кэт © (2007-08-24 10:00:00)Использую компонент TRxDbRichEdit.Загружаю на него текст и картинки(.JPG) извне.В БД создано поле формата IMage.Попытка сохранить (Post) в этом поле просто текста идет на ура,а вот с картинкой ничего не выходит.Сообщение:
Invalid BLOB length.
Понимаю что так прямолинейно сохранить BLOB нельзя,но не могу найти механизм как это сделать.
Подскажите,пожалуйста.
Женя_кэт (2007-08-28 09:40:00) [1]Еще одна попытка:
procedure TForm1.Button1Click(Sender: TObject);
begin
TRxDBRichEdit.Lines.SaveToFile('c:\spline\ww1.rtf');
if not (Qv.State in [dsInsert, dsEdit]) then Qv.Edit;
(Dv.DataSet.fieldbyname('VV') as TBlobField).LoadFromFile('c:\spline\ww1.rtf');
Qv.Post;
---На Post идет ошибка Invalid BLOB length-----
Если в файле только текст,то ошибка не возникает,а если текст и картинка,то идет ошибка.
Что я делаю неправильно?
end;
Desdechado (2007-08-27 15:08:00) [2]> Incompatible types TBlobStream TStream
Посмотри, что возвращает указанный метод.
Женя_кэт (2007-08-27 15:04:00) [3]
> Dataset.CreateBlobStream
> ?
Я посмотрела пример.Опять вопрос:
var
Stream1, Stream2 : TBlobStream;
begin
{Dv- TDataSource}
Dv.DataSet.Edit;
{FieldByName('VV')-поле,куда хочу сделать запись}
Stream2 := Dv.DataSet.CreateBlobStream(Dv.DataSet.FieldByName('VV'), bmReadWrite);
Ошибка:
Incompatible types TBlobStream TStream
end;
Дальше и двинуться не могу.
Вообще-то у меня была мысль записывать сначала RTF,а потом уже из него писать в поле базы.Может это и ни к чему?
Desdechado (2007-08-27 11:10:00) [4]Dataset.CreateBlobStream
?
Женя_кэт (2007-08-27 09:36:00) [5]
> Т.е. ты RTF записываешь в blob или картинки отдельно?
> Покажи код
procedure TForm1.InsertBitmap(Sender: TObject);
var
Pict: TPicture;
begin
with FOpenPictureDialog do begin
if Execute then begin
Pict := TPicture.Create;
try
Pict.LoadFromFile(FileName);
Clipboard.Assign(Pict);
Editor.PasteFromClipboard;
finally
Pict.Free;
end;
end;
end;
end;
Женя_кэт (2007-08-27 09:32:00) [6]
> 1. Какой механизм доступа к БД (BDE, ADO, что-нибудь другое)?
>
> 2. Какой DataSet используется (TTable, TADOTable, TQuery,
> TClientDataSet, что-нибудь другое)?
Доступ через BDE.Использую TQuery,TDataSource
Desdechado (2007-08-25 17:20:00) [7]> TRxDbRichEdit.Загружаю на него текст и картинки(.JPG) извне.
> В БД создано поле формата IMage.
Т.е. ты RTF записываешь в blob или картинки отдельно?
Покажи код.
Ega23 (2007-08-24 10:48:00) [8]1. Какой механизм доступа к БД (BDE, ADO, что-нибудь другое)?
2. Какой DataSet используется (TTable, TADOTable, TQuery, TClientDataSet, что-нибудь другое)?