Форум: "Базы";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c