Главная страница
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.02 c
1-46838
Intell
2003-04-19 10:48
2003.05.15
Как в TMenu отобразить список файлов какталога?


14-46957
Michael
2003-04-26 14:27
2003.05.15
Сколько локальных дисков в Windows?


3-46638
KPP
2003-04-24 13:51
2003.05.15
Кверя+ДбГрид; изменение из грида; контроль ввода


1-46736
Great DAN
2003-05-05 06:21
2003.05.15
Выделить всю строку в StringGrid


1-46692
postx
2003-05-03 13:50
2003.05.15
Как прочитать Базы.dbx Outlook Express?