jpg 를 DB로 올려야 하거든요..
여기저기 소스찾아보구 코딩을 했는데 ..
마지막에서 걸리는것 같아요..
아래에 소스를 올려볼게요..
db는 ORACLE이구요, Data Type은 BLOB, LONG RAW
둘다에서 Test 해봤거든요..
-----------------------------------------
-----------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
v_Jpeg : Tjpegimage;
ms : TMemoryStream;
begin
With QR_Insert do
begin
If Active Then Close;
SQL.Clear;
SQL.ADD(' INSERT INTO test ');
SQL.ADD(' (id, tmp) ');
SQL.ADD(' VALUES ');
SQL.ADD(' (:id, :tmp) ');
ParamByName('id').AsString := Edit1.Text;
If Image1.Picture.Graphic = nil then
ParamByName('tmp').Assign(Image1.Picture.Bitmap)
else
begin
v_jpeg:= TJpegImage.Create;
ms := TMemoryStream.Create;
v_jpeg.Assign(Image1.Picture.Graphic);
v_jpeg.SaveToStream(ms);
ms.position := 0;
ParamByName('tmp').LoadFromStream(ms,ftBlob);
end;
DataBase1.StartTransaction;
////////////////////////////////
ExecSQL; // 꼭 여기에서 Error가 나네요..
// Message 는 "TNS:패킷 라이트 실패...."
// 도대체 왜그런지 모르겠네요..
// 고수님들 꼭 좀 가르쳐 주세요...
////////////////////////////////
v_jpeg.Destroy;
ms.Destroy;
DataBase1.Commit;
end;
end;
end;