Главная страница
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.014 c
14-46936
ZeroDivide
2003-04-23 16:06
2003.05.15
Delphi challenge. Авторские права и стимул соревнований


1-46750
AlexGof
2003-05-05 10:51
2003.05.15
Работа приложения с разным разрешением экрана


6-46866
frum-dp0fl
2003-03-17 18:58
2003.05.15
HTTP-download


1-46797
sagchat
2003-05-01 15:14
2003.05.15
Как удалить все файлы с указаным расширением?


6-46872
Katy
2003-03-18 12:15
2003.05.15
ServerSocket dll MsSql странности...