안녕하십니까?
델파이5.0과 mysql을 이용하여, db에 이미지를 꼭 저장해야 합니다.
디렉토리 경로를 저장하는것이 아니라 이미지 자체를 꼭 저장해야 되거든요.
이미지의 크기는 25k 안쪽입니다.
아래 소스대로 코딩해서 돌려 봤는데..
db안에 흔적이 안남는것 같아서요.. 답변좀 부탁 드립니다..
참 sql을 이용했습니다..
소스...
입력하기
procedure TForm1.FlatButton1Click(Sender: TObject);
begin
with query1 do begin
sql.Clear;
sql.add(' insert into xray ');
sql.Add('(model,lefttop,topcenter,righttop,center,leftbottom,bottomcenter,rightbottom)');
sql.Add(' values(:test, :image1, :image2, ');
sql.Add(' :image3, :image4, :image5, ');
sql.Add(' :image6, :image7)');
parambyname('test').asstring := model.text ;
parambyname('image1').assign(image1.picture.bitmap);
parambyname('image2').assign(image2.picture.bitmap);
parambyname('image3').assign(image3.picture.bitmap);
parambyname('image4').assign(image4.picture.bitmap);
parambyname('image5').assign(image5.picture.bitmap);
parambyname('image6').assign(image6.picture.bitmap);
parambyname('image7').assign(image7.picture.bitmap);
query1.ExecSql;
end;
query1.Close;
end;
불러오기
procedure TForm1.FlatButton2Click(Sender: TObject);
begin
query2.Close;
query2.Sql.Clear;
query2.sql.Add(' select * from xray ');
query2.sql.Add(' where num = 21 ');
query2.open;
image8.Picture.Assign(query2.fieldbyname('lefttop'));
end;
end.
TBlobField(parambyname('image1')).assign(image1.picture.bitmap);
....
글구 Sql Explorer 를 통해서 Blob Field의 내용을 확인하시고자 한다면, 그냥 Blob이라고 쓰여진 글씨를 두번 클릭하세요. 만약 메모창 같이 생긴 창이 뜬다면 메모창위에 마우스를 올려 놓고 우측버튼을 누리시면 'Show as Graphic'에 마킹하시면 저장된 그래픽이 보이실 겁니다.
아메리칸파이 wrote:
> 안녕하십니까?
>
> 델파이5.0과 mysql을 이용하여, db에 이미지를 꼭 저장해야 합니다.
>
> 디렉토리 경로를 저장하는것이 아니라 이미지 자체를 꼭 저장해야 되거든요.
>
> 이미지의 크기는 25k 안쪽입니다.
>
> 아래 소스대로 코딩해서 돌려 봤는데..
>
> db안에 흔적이 안남는것 같아서요.. 답변좀 부탁 드립니다..
>
> 참 sql을 이용했습니다..
>
> 소스...
>
>
> 입력하기
> procedure TForm1.FlatButton1Click(Sender: TObject);
> begin
> with query1 do begin
> sql.Clear;
> sql.add(' insert into xray ');
> sql.Add('(model,lefttop,topcenter,righttop,center,leftbottom,bottomcenter,rightbottom)');
> sql.Add(' values(:test, :image1, :image2, ');
> sql.Add(' :image3, :image4, :image5, ');
> sql.Add(' :image6, :image7)');
>
> parambyname('test').asstring := model.text ;
>
> parambyname('image1').assign(image1.picture.bitmap);
> parambyname('image2').assign(image2.picture.bitmap);
> parambyname('image3').assign(image3.picture.bitmap);
> parambyname('image4').assign(image4.picture.bitmap);
> parambyname('image5').assign(image5.picture.bitmap);
> parambyname('image6').assign(image6.picture.bitmap);
> parambyname('image7').assign(image7.picture.bitmap);
> query1.ExecSql;
> end;
> query1.Close;
> end;
>
> 불러오기
> procedure TForm1.FlatButton2Click(Sender: TObject);
>
> begin
> query2.Close;
> query2.Sql.Clear;
> query2.sql.Add(' select * from xray ');
> query2.sql.Add(' where num = 21 ');
> query2.open;
>
> image8.Picture.Assign(query2.fieldbyname('lefttop'));
>
>
> end;
> end.
>