Arsip: menyimpan file gambar jpeg
more 19 years ago
dermawan
Saya sudah menemukan caranya... Menggunakan Komponen ADOQuery. Saya gak nemu di forum ini sih, nemu di link apa saya lupa. Tapi ini saya post saja coding-nya, bagi yang memerlukan:
with ADOQuery1 do
begin
Close;
SQL.Text := 'select * from <Nama Table> where ID = 0';
// kode di atas untuk select dari tabel yang menghasilkan nol RecordCount, hanya untuk buka saja.
Open;
Insert;
Fields[0].Value := <nilai yang dimasukkan ke field pertama dari tabel>;
(Fields[1] as TBlobField).LoadFormFile('<nama file gambar>');
// kedua baris di atas untuk mengisi field-field pada tabel
// bisa juga gunakan FieldByName('<nama field>'), tapi saya prefer pakai index --> lebih cepat, pernah dicoba
Post;
Close;
end;
Semoga membantu :)
Dermawan
more 19 years ago
grounders
ini merupakan alternatif menggunakan ADOQuery untuk melakukan insert gambar atau update gambar. Sebagai gambaran saya menggunakan dua tabel barang dimana satu tabel untuk menyimpan data barang dan yang satunya khusus untuk menyimpan gambar dari barang tersebut. Relasi tabel one to one dengan kunci kdbarang
procedure TfmGoodPicture.btSaveClick(Sender: TObject);
var
Bookmark: TBookmark;
begin
if OpenPictureDialog1.Execute then
begin
Bookmark := DM.TGood.GetBookmark;
DM.TGood.DisableControls;
ms := TMemoryStream.Create;
try
ms.LoadFromFile(OpenPictureDialog1.FileName);
try
if not DM.MYSQL.InTransaction then DM.MYSQL.BeginTrans;
with DM.ADOQuery2 do
begin
with SQL do
begin
Clear;
Add('select count(kdbarang) from goodgambar where kdbarang = :kb');
end;
Prepared;
Parameters.Items[0].Value := DM.TGoodKDBARANG.AsString;
Open;
end;
if DM.ADOQuery2.Fields[0].AsInteger > 0 then
begin
with DM.ADOQuery1 do
begin
with SQL do
begin
Clear;
Add('update goodgambar set picture=:pic where kdbarang = :kb');
end;
Prepared;
Parameters.Items[0].LoadFromStream(ms, ftBlob);
Parameters.Items[1].Value := DM.TGoodKDBARANG.AsString;
ExecSQL;
end;
end
else
begin
with DM.ADOQuery1 do
begin
with SQL do
begin
Clear;
Add('insert into goodgambar(kdbarang,picture) values(:kb,:pic)');
end;
Prepared;
Parameters.Items[0].Value := DM.TGoodKDBARANG.AsString;
Parameters.Items[1].LoadFromStream(ms, ftBlob);
ExecSQL;
end;
end;
DM.MYSQL.CommitTrans;
DM.TGood.Close;
DM.TGood.Open;
DM.TGood.GotoBookmark(Bookmark);
except
DM.MYSQL.RollbackTrans;
ShowMessage('Penyimpanan data gagal');
end;
finally
ms.Free;
DM.TGood.EnableControls;
DM.TGood.FreeBookmark(Bookmark);
end;
end;
end;
Dan kode di bawah untuk menampilkannya. Disini gambar yang digunakan dapat berkekstensi .bmp tau .jpg. Disini saya menggunakan ADOQuery yang saya beri nama QGAMBAR dengan SQL = SELECT PICTURE FROM GOODGAMBAR WHERE KDBARANG=:KB
Dan kode ini terletak pada event onClick pada button
procedure TfmGoodPicture.btShowClick(Sender: TObject);
var
bS : TADOBlobStream;
Pic : TJpegImage;
Gmbr : TBitmap;
begin
DM.QGAMBAR.Close;
DM.QGAMBAR.Prepared;
DM.QGAMBAR.Parameters.Items[0].Value := DM.TGOODKDBARANG.AsString;
DM.QGAMBAR.Open;
DM.QGAMBAR.First;
if not DM.QGAMBARPICTURE.IsNull then
begin
bS := TADOBlobStream.Create(DM.QGAMBARPICTURE, bmRead);
try
Pic:=TJpegImage.Create;
try
try
Pic.LoadFromStream(bS);
ADOImage.Picture.Graphic:=Pic;
except
bs := TADOBlobStream.Create(DM.QGAMBARPICTURE, bmRead);
Gmbr := TBitmap.Create;
try
try
Gmbr.LoadFromStream(bs);
ADOImage.Picture.Graphic:=Gmbr;
except
ADOImage.Picture := Nil;
end;
finally
Gmbr.Free;
end;
end;
finally
Pic.Free;
end;
finally
bS.Free
end;
end
else
begin
ADOImage.Picture := Nil;
end;
end;
Semoga kode diatas bisa membantu...
For bos ulil: perlu dibuat sebagai atrikel gak bos?
more 19 years ago
lord_kimm
@kaka-delphi: Refer : http://www.delphi-id.org/dpr/Article86.pas :lol:Artikel itu emang nyolok file jpg ke database cuman di tu artkel bukan make Query tapi lewat tabel sedangkan dalam Thread ini yang ditanyakan bagaiaman cara memasukan file jpeg dalam database dgn Query.. :D
more 18 years ago
skyblue
iyha saya juga masih bingung gimana klo pake query(masih pemula T_T).. udah cari di sini masih lum paham, bisa minta tolong kasi conth yang simpel nda yang make interbase.. thx sblmnya..
more 18 years ago
kaka-delphi
lho ... bukannya sudah di jawab sama si grunders ... ?
Kalo masih kurang jelas ... tinggal search di artikel juga ada kok ... http://pascal-id.org/dpr/Article110.pas
more 18 years ago
budi_bunga
coba pake jpg diekspor ke text, lalu teksnya bila mau ditampilkan diekspor lagi ke jpg
more ...
- Pages:
- 1
- 2
reply |
Report Obsolete
AI Forward
🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 5 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 13 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 13 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 13 years ago
Random Topic
- pemograman Modem
by jkssbma in Enginering more 19 years ago - buat program buat ATM Bank
by agoes in Enginering more 19 years ago - Delphi: Today, Tomorrow and Beyond
by LuriDarmawan in OOT more 18 years ago - convert
by marsedho2005 in Enginering more 20 years ago - Export data ke ExcelChart
by derry.othman in Hal umum tentang Pascal Indonesia more 18 years ago - Menggunakan Component ZStoredProc Zeos
by umarbakri in Hal umum tentang Pascal Indonesia more 18 years ago - {SHARING MODE=ON} Delphi, Java, C++, C#
by Manz in OOT more 18 years ago - kompt. lemot kinerjanya
by sibeancool in OOT more 16 years ago - Delphi civilian Math
by yayaretina in Hal umum tentang Pascal Indonesia more 18 years ago - NextGrid Kosong,,Kenapa Yach,,???
by listia in Hal umum tentang Pascal Indonesia more 18 years ago