ORA-01036 raized error when using DataSet to insert BLOB field

jwangb

Member
procedure TfmUpLoadPic.Button5Click(Sender: TObject);
var
BLOB:TLobLocator;
JPEGImage:TJpegImage;

begin
JPEGImage:=TJpegImage.Create;

with DM.OraQuery6 do
begin
Close;
SQL.Clear;
SQL.Add('update shm_person_header set header_pic1 = :blob_pic4');
SQL.Add(' where p_header_id = '+fmPersonInfo.AdvEdit1.Text);

DeclareVariable('blob_pic4', otBlob);
BLOB:=TLobLocator.CreateTemporary(DM.OraConn, otBlob, True);
JPEGImage.Assign(Image1.Picture.Graphic);
JPEGImage.SaveToStream(BLOB);
SetComplexVariable('blob_pic4', BLOB);
ExecSQL;

end;
JPEGImage.Free;
BLOB.Free;

DM.Qry_PicLoad.Refresh;
Edit4.Clear;
Button5.Enabled:=False;

end;

Sometime the above procedure runs OK but sometime it will raize error "ORA-01036" How to fix this error?

Thx
James
 
Perhaps you are using this DM.OraQuery instance for other purposes elsewhere in your application? If so, you probably need to call TOracleQuery.Clear instead of TOracleQuery.SQL.Clear, so that all old variable declarations are also deleted.
 
Back
Top