Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-46895
Карлсон
2003-04-24 18:07
2003.05.15
win2k sp3


7-47018
asdf622
2003-03-20 17:08
2003.05.15
Очистка памяти. Как сделать?


9-46555
TButton
2002-12-02 23:52
2003.05.15
Инвентарь


3-46623
Rise
2003-04-24 11:50
2003.05.15
Query.RequetLive DBgrid и Access


3-46655
MsGuns
2003-04-24 18:33
2003.05.15
Ступенчатое удаление





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский