안녕들 하세요...
저는 델파이에 관심을 가지고 있는 학생입니다..
다름이 아니고...제가 db에 이미지를 넣고 불러서쓸려고 하는데 어떻게 코딩을 해야할지 모르겠어요...
검색을 해보아도 안나오고..(못찾고잇어여..--;) 현재 보고있는 책에도 그런 부분에 없어서 이렇게 글을 남겨 봅니다...
구체적으로 제가 물어 볼것은
1.테이블을 설정할때 이미지의 타입을 G(그래픽)으로 하는것이 맞는지를 알고 싶습니다..
2.쿼리를 만들어서 사용할때
일반 문자형(db타입이 A)은
name.text:=form1.query1.fieldbyname('name').asstring;
로 쓰자나요..그럼 이미지타입은 마지막부분 즉 asstring 대신에 어떤걸 쓰야하는지를 모르겠어요..
3.db에 이미지를 올릴때 일반 문자형을 올리는 것처럼 사용해도 되는지 궁금합니다..
form1.table1.fieldbyname('name').asstring:=name.text;
이런 씩으로 할수있는지 아니면 다른 함수가 들어가야 하는지 꼭 알고 싶어요..
고수님들의 답변을 부탁드립니다..
p.s 기분 좋은 하루 보내시고요..행복하세요^^
안녕하세요
저도 델파이초보입니다
근데 제가 알기론
이미지를 디비에 저장 하는방법은 좋지 않다고 들었습니다.
용량이 장난 아니게 늘어나니까요
특히 bmp경우는 더 하지요
차라리 경로로 저장 하시는게 좋을꺼 같습니다.
var bmp : String;
begin
if OpenPictureDialog1.Execute then //오픈픽쳐다이얼러그가 실행되면...
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.Filename); //이미지에 해당 파일을 붙인다
//Query1Sajin.LoadFromFile(OpenPictureDialog1.Filename); db이미지를 할 경우 사진필드에 바로 이미지를 저장 한다.
일반 이미지일경우 임시변수에 경로저장
bmp := OpenPictureDialog1.Filename;
저장할때 저장한다.
Query1.FieldByName('S_SaJin').AsString := Bmp;
end;
//불러올떄........
Bmp := Qry_GridS_SaJin.AsString;
if Trim(Bmp) = '' then
Image1.Picture := nil
else
begin
try
Image1.Picture.LoadFromFile(Bmp);
except
showMessage('경로에 사진이없습니다.');
Image1.Picture := nil;
end;
end;
db이미지를 사용할경우에는 불러오는 작업은 안 하셔도 db에서 지원함
end;
//경로일 경우 ↑
이미지전체를 잡을때는 이미지필드를 만들어야 하겠지만
그냥 경로로 사용 하신다면 그냥 char(200) 일케 해도 될꺼 같은데요
허접한 답변입니다
도움이 되시징...
즐코 하세요