Форум: "Базы";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
ВнизTOracleDataSet.CanModify Найти похожие ветки
← →
False (2003-01-15 17:18) [0]Есть процедура (ниже), но в ней не получается поставить 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) [1]по пробуй вот так
select ID, LETTER_TEXT,let_blob.rowid from LET_BLOB where ID=:Id
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c