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

Вниз

OleContainer???   Найти похожие ветки 

 
ATK   (2003-04-24 07:20) [0]

Доброе утро. Подскажите пожалуйста, как связать OleContainer с Table. Например, чтоб при нажатий на Btn, данные из контейнера записывались в БД. <Если б кто скинул код>
Заранее блогадарен.


 
BoxTer ©   (2003-04-24 09:12) [1]


procedure TFormDatabase.DBGrid1EditButtonClick(Sender: TObject);
var OleContainer:TOleContainer;
begin
{ Записать файл в OLE BLOB в некое поле }
if not DM.имя_поля_ОЛЕ.IsNull then
begin
DM.Table1.Edit;
DM.имя_поля_ОЛЕ.Clear;
DM.Table1.Post;
OleContainer.DestroyObject;
Exit;
end;
if not DM.OpenDialog.Execute then Exit;
OleContainer.CreateObjectFromFile(DM.OpenDialog.FileName,False);
end;

может помогет...


 
BoxTer ©   (2003-04-24 09:18) [2]

кстати, необходимо добавить некоторые манипуляции:

procedure TDM.TableContractsAfterScroll(DataSet: TDataSet);
var
Stream: TBlobStream;
begin
{Чтение объекта OLE из таблицы Table1}
if имя_поля_ОЛЕ.IsNull then
begin
FormDatabase.OleContainer.DestroyObject;
FormDatabase.OleContainer.Modified := False;
Exit;
end;
Stream := TBlobStream.Create(имя_поля_ОЛЕ,bmRead);
FormDatabase.OleContainer.LoadFromStream(Stream);
FormDatabase.OleContainer.Modified := False;
Stream.Free;
end;

procedure TDM.TableContractsBeforeScroll(DataSet: TDataSet);
var
Stream: TBlobStream;
begin
{Запись объекта OLE в таблицу Table1}
if not FormDatabase.OleContainer.Modified then Exit;
Table1.Edit;
Stream := TBlobStream.Create(имя_поля_ОЛЕ,bmWrite);
FormDatabase.OleContainer.SaveToStream(Stream);
Stream.Free;
Table1.Post;
end;

эти процедуры значатся в событиях твоей таблицы Table1


 
BoxTer ©   (2003-04-24 09:21) [3]

блин,
в конце первой процедуры TFormDatabase.DBGrid1EditButtonClick добавь в конец строку TableContractsBeforeScroll(nil).
И не обращай внимание на надписи DM. в тексте, забыл убрать



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-46670
DmEr
2003-04-24 23:14
2003.05.15
WEB публикация


14-46980
_PG_gaws
2003-04-21 13:18
2003.05.15
Помогите !!!!!!!!!!!(Как перехватить нажатие кнопки Maximize)


1-46843
zolotov
2003-05-02 17:59
2003.05.15
Очистака компонентов от текста.


14-46910
Карлсон
2003-04-28 16:27
2003.05.15
SMS-центр.


9-46556
Jedi Knight
2002-11-11 15:01
2003.05.15
Wolfenstein Source