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

Вниз

Сохранение рисунков в MSSQL   Найти похожие ветки 

 
Женя_кэт ©   (2007-08-24 10:00) [0]

Использую компонент TRxDbRichEdit.Загружаю на него текст и картинки(.JPG) извне.В БД создано поле формата IMage.Попытка сохранить (Post) в этом поле просто текста идет на ура,а вот с картинкой ничего не выходит.Сообщение:
Invalid BLOB length.
Понимаю что так прямолинейно сохранить BLOB нельзя,но не могу найти механизм как это сделать.
Подскажите,пожалуйста.


 
Ega23 ©   (2007-08-24 10:48) [1]

1. Какой механизм доступа к БД (BDE, ADO, что-нибудь другое)?
2. Какой DataSet используется (TTable, TADOTable, TQuery, TClientDataSet, что-нибудь другое)?


 
Desdechado ©   (2007-08-25 17:20) [2]

>  TRxDbRichEdit.Загружаю на него текст и картинки(.JPG) извне.
> В БД создано поле формата IMage.
Т.е. ты RTF записываешь в blob или картинки отдельно?
Покажи код.


 
Женя_кэт ©   (2007-08-27 09:32) [3]


> 1. Какой механизм доступа к БД (BDE, ADO, что-нибудь другое)?
>
> 2. Какой DataSet используется (TTable, TADOTable, TQuery,
>  TClientDataSet, что-нибудь другое)?

Доступ через BDE.Использую TQuery,TDataSource


 
Женя_кэт ©   (2007-08-27 09:36) [4]


> Т.е. ты 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;


 
Desdechado ©   (2007-08-27 11:10) [5]

Dataset.CreateBlobStream
?


 
Женя_кэт ©   (2007-08-27 15:04) [6]


> 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 15:08) [7]

>  Incompatible types TBlobStream TStream
Посмотри, что возвращает указанный метод.


 
Женя_кэт ©   (2007-08-28 09:40) [8]

Еще одна попытка:

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;



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
15-1188272453
schaps
2007-08-28 07:40
2007.09.23
Не верь глазам своим


2-1188199309
арпывапр
2007-08-27 11:21
2007.09.23
паыметры зупускаемого приложения.


8-1165654267
iNevil
2006-12-09 11:51
2007.09.23
TColor -> RGB


15-1188182876
Slider007
2007-08-27 06:47
2007.09.23
С днем рождения ! 27 августа 2007 понедельник


2-1188203269
Квэнди
2007-08-27 12:27
2007.09.23
onmousemove в stringgrid