I used Delphi.
This work well with MYSQL but error with DB2.
//===================================//
Function TfrmMainScanPict.SavePict(Qry: TADOQuery): String;
Var
hn,cPath,s2:string;
fS : TFileStream;
begin
Result:='Start';
hn:=Trim(ListBox1.Items[0]);
cPath:='C:\TempScan.JPG';
fs:=TFileStream.Create(cPath, fmOpenRead);
Try
s2:='select OP_HN,PIC_AUTO,PIC_RESULT from LAB_RESULT_PICT'
+' WHERE OP_HN='''+HN+'''';
Qry.Close;
Qry.SQL.Clear;
Qry.SQL.Add(s2);
Qry.Open;
Qry.Insert;
Qry.FieldByName('OP_HN').AsString:=HN;
Qry.FieldByName('PIC_AUTO').AsInteger:=Qry.RecordC ount+1;
Qry.FieldByName('PIC_DATETIME').AsDateTime:=Now;
TBlobField(Qry.FieldByName('PIC_RESULT')).LoadFrom Stream(fs);
Try
Qry.Post; // Error occure here said = 0
Except on E:Exception do
Result:= E.Message;
End;
Result:='Success';
Finally
fs.Free;
End;
end;
//==================================//
database structure
==============
CREATE TABLE LAB_RESULT_PICT(
OP_HN CHAR(13) NOT NULL'
,PIC_AUTO INTEGER NOT NULL'
,PIC_DATETIME TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP
,PIC_RESULT BLOB(1024)'
,CONSTRAINT PK_LABRESPICT1 PRIMARY KEY(OP_HN,PIC_AUTO))