procedure AProc;
var
Sql: string;
BField: TBlobField;
Strm: TBlobStream;
RC: TARecord; // 是一种记录类型,他的字段都是简单类型
begin
//---先给RC的各字段赋值 如下:
RC.F1 := ...;
RC.F2 := ...;
RC.F3 := ...;
...
//---然后
Sql := 'SELECT ABLOBFIELD FROM ATABLE';
Query.SQL.Text := Sql;
Query.RequestLive := True;
Query.Open;
Query.Append;
BField := TBlobField(Query.FieldByName('ABLOBFIELD'));
Strm := Query.CreateBlobStream(BField,bmReadWrite) as TBlobStream;
Strm.Seek(0,soFromBeginning);
Strm.Write(RC,Sizeof(RC));
Query.Post;
// “致命”的错误在上面句被执行后报出:
// 'General SQL error ORA-22990:LOB定位器无法扩展事务处理'
// 不过RC的值似乎是写进去了
end;
有哪位大虾可以来指点一下迷经吗? Thnx in advance!!!
var
Sql: string;
BField: TBlobField;
Strm: TBlobStream;
RC: TARecord; // 是一种记录类型,他的字段都是简单类型
begin
//---先给RC的各字段赋值 如下:
RC.F1 := ...;
RC.F2 := ...;
RC.F3 := ...;
...
//---然后
Sql := 'SELECT ABLOBFIELD FROM ATABLE';
Query.SQL.Text := Sql;
Query.RequestLive := True;
Query.Open;
Query.Append;
BField := TBlobField(Query.FieldByName('ABLOBFIELD'));
Strm := Query.CreateBlobStream(BField,bmReadWrite) as TBlobStream;
Strm.Seek(0,soFromBeginning);
Strm.Write(RC,Sizeof(RC));
Query.Post;
// “致命”的错误在上面句被执行后报出:
// 'General SQL error ORA-22990:LOB定位器无法扩展事务处理'
// 不过RC的值似乎是写进去了
end;
有哪位大虾可以来指点一下迷经吗? Thnx in advance!!!
功力不够关注!