Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TOracleDataSet.CanModify [D5]


False ©   (2003-01-15 17:18:00) 

Есть процедура (ниже), но в ней не получается поставить dsBlob в состояние Insert.
Проблема в том, что мой OracleDataSet.CanModify=false и Delphi 5 ругается, что мол нада мне свойство "CanModify" DataSet"а в true.
В справке Delphi, написано, что это свойство только для чтения и что оно всегда равно true для TDataSet!
Но у меня именно TOracleDataSet и поменять енто свойство не могу, что делать???

{--Сохранение документа из программы в Blob-поле с именем BlobField таблицы dsBlob под ID равным полю ID, выбранной записи таблицы ds--}
procedure SaveBlobFromOle(OleContainer: TOleContainer; ds,dsBlob: TOracleDataSet; BlobField: string);
var
BlobExist: boolean;
begin
with dsBlob do
begin
Close;
SetVariable("ID",ds.FieldByName("ID").asInteger);
Open;
end;
BlobExist:=dsBlob.Locate("ID",ds.FieldByName("ID").asInteger,[]);
if NOT BlobExist then
begin
dsBlob.Insert;
dsBlob.FieldByName("ID").asInteger:=ds.FieldByName("ID").asInteger;
end
else
if NOT (dsBlob.State in [dsEdit,dsInsert]) then dsBlob.Edit;
(dsBlob.FieldByName(BlobField) as TBlobField).Clear;
try
OleContainer.SaveToFile(GetTempDir+"\tmp#$#$.doc");
(dsBlob.FieldByName(BlobField) as TBlobField).LoadFromFile(GetTempDir+"\tmp#$#$.doc");
if ds.State in [dsEdit,dsInsert] then ds.Post;
dsBlob.Post;
OleContainer.Modified:=false;
OleContainer.Close;
finally
DeleteFile(GetTempDir+"\tmp#$#$.doc");
end;
end;

P.S.
dsBlob.SQL.Text="select ID, LETTER_TEXT from LET_BLOB where ID=:ID"


Big_Rom   (2003-01-15 17:54:00) [1]

по пробуй вот так
select ID, LETTER_TEXT,let_blob.rowid from LET_BLOB where ID=:Id


Наверх

Титульная страница Поиск, карта сайта Написать письмо