Arsip: Export fild Image dari SQLServer 2005 ke Excell
more 13 years ago
mrzie05
Dear Para Master Delphi,
Mohon masukkan dan pencerahannya tentang Coding mengeksport Data Image di SQL Server 2005 kedalam Excell dalam bentuk Gambar utuh.
Mohon masukkannya dan Terimakasih :oops:
more 13 years ago
halimanh
Di db, ada tabel 'induk' dengan column 'image' type image.
Kode dibawah akan connect ke db, ambil column image (jpg), create jpg image, copy ke clipboard, create excel app & worksheet, paste dari clipboard ke excel. Kode ini cuma ambil satu jpg image doang dan tampilkan ke excel.
procedure TForm1.btn3Click(Sender: TObject);
var
oExcel, ws : OleVariant;
clipboard : TClipboard;
jpg : TJPEGImage;
adoQry : TADOQuery;
memStream : TMemoryStream;
begin
try
adoQry := TADOQuery.Create(nil);
adoQry.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Test;Data Source=BLANK';
adoQry.SQL.Clear;
adoQry.SQL.Add('select image from induk;'); //image adalah column di database (type Image).
adoQry.Open;
clipboard := TClipboard.Create;
jpg := TJPEGImage.Create;
memStream := TMemoryStream.Create;
TBlobField(adoQry.FieldByName('image')).savetoStream(memStream);
memStream.Seek(0, soFromBeginning);
memStream.Position := 0;
jpg.LoadFromStream(memStream);
clipboard.Assign(jpg);
oExcel := CreateOleObject('excel.application');
oExcel.visible := True;
oExcel.Workbooks.add;
ws := oExcel.Worksheets.item['Sheet1'];
ws.activate;
ws.cells.item[1,3].value := 'Halo...excel nih';
ws.paste;
finally
clipboard.Free;
jpg.Free;
adoQry.Close;
adoQry.Free;
memStream.Free;
end;
end;
more 13 years ago
halimanh
di baris 34 ditambahin
ws.cells.item[2,6].select;
biar gambarnya nggak nutupin kata 'Halo...excel nih'
more 13 years ago
mrzie05
@halimanh: di baris 34 ditambahinMas @halimanh, Makasih Atass Repleynya... Saya coba dulu ya Mass.... :D :idea:biar gambarnya nggak nutupin kata 'Halo...excel nih'ws.cells.item[2,6].select;
more 13 years ago
mrzie05
@mrzie05: [quote:4db7719ad7="halimanh"]di baris 34 ditambahinMas @halimanh, ada error nih.... [Error] Unit2.pas(30): Undeclared identifier: 'TClipboard' Mohon Masukkannya....biar gambarnya nggak nutupin kata 'Halo...excel nih'[/quote:4db7719ad7] Mas @halimanh, Makasih Atass Repleynya... Saya coba dulu ya Mass.... :D :idea:ws.cells.item[2,6].select;
more 13 years ago
mrzie05
@mrzie05: Mas @halimanh, ada error nih.... [Error] Unit2.pas(30): Undeclared identifier: 'TClipboard' Mohon Masukkannya....Yg diatas Sudah Bisa, di tambahkan di : uses --> jpeg,clipbrd; Muncul baru lg : " Access violation at address 00485ED0 in Modul 'Project2.exe'. Read of address 00000258 " Kenapa ya Mas @halimanh... Maaf banyak tanya
more 13 years ago
halimanh
Pake debugger dong. Dipasang breakpoint aja (F5), jalankan program (F9), terus F8 sampe program error, kan ketauan errornya di baris berapa.
more 13 years ago
mrzie05
@halimanh: Pake debugger dong. Dipasang breakpoint aja (F5), jalankan program (F9), terus F8 sampe program error, kan ketauan errornya di baris berapa.Akhirnya bisa juga Mas Halimanh, Terimakasih Atass Supportnya... Bagi yg berminat, berikut listing Program yg dikirim oleh mass Halimah yg sudah saya modifikasi :
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls,jpeg,clipbrd,Comobj;
type
TForm1 = class(TForm)
Button1: TButton;
adoQry: TADOQuery;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
oExcel, ws : OleVariant;
clipboard : Tclipboard;
bmp : TBitmap;
jpg : TJPEGImage;
adoQry : TADOQuery;
memStream : TMemoryStream;
begin
try
adoQry := TADOQuery.Create(nil);
adoQry.ConnectionString := 'Provider=SQLOLEDB.1;Password=dilarangmasuk;Persist Security Info=True;User ID=sa;Initial Catalog=DB_KAR;Data Source=10.23.0.59';
adoQry.SQL.Clear;
adoQry.SQL.Add('select NIK,Foto from Foto where (NIK='+Label1.Caption+') or (NIK='+Label2.Caption+')' ); //image adalah column di database (type Image).
adoQry.Open;
clipboard := TClipboard.Create;
bmp := TBitmap.Create;
//jpg := TJPEGImage.Create;
memStream := TMemoryStream.Create;
TBlobField(adoQry.FieldByName('Foto')).savetoStream(memStream);
memStream.Seek(0, soFromBeginning);
memStream.Position := 0;
//jpg.LoadFromStream(memStream);
bmp.LoadFromStream(memStream);
//clipboard.Assign(jpg);
clipboard.Assign(bmp);
oExcel := CreateOleObject('excel.application');
oExcel.visible := True;
oExcel.Workbooks.add;
ws := oExcel.Worksheets.item['Sheet1'];
ws.activate;
ws.cells.item[1,3].value := 'Halo...excel nih';
ws.cells.item[2,6].select;
ws.paste;
finally
clipboard.Free;
bmp.Free;
//jpg.Free;
adoQry.Close;
adoQry.Free;
memStream.Free;
end;
end;
end.
more ...
- Pages:
- 1
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
- Try Exception
by khairulfahmi in Tip n Trik Pemrograman more 18 years ago - Tanya nama komponen Delphi
by fatahjunaidi in OOT more 16 years ago - [ HELP ] Pencerahan tentang database yang sering digunakan.
by binyo in MySQL more 13 years ago - tulung tulung ..... Getting IP, Subnet, Gateway
by Manz in Network, Files, I/O & System more 18 years ago - Menampilkan data di AdvStringrid (komponen TMS)
by percyl in Hal umum tentang Pascal Indonesia more 16 years ago - [STOP]netsend
by -BreWok- in Tip n Trik Pemrograman more 19 years ago - Bantuin logikanya dari kasus berikut dong...
by Random in Hal umum tentang Pascal Indonesia more 18 years ago - [DBGrid] Baris Ganjil dan Genap Beda Warna?
by adokonax in OOT more 19 years ago - cari seperti mesin google
by adit4it in Hal umum tentang Pascal Indonesia more 18 years ago - Menggunakan inpout32.dll Untuk Port Paralel
by umarbakri in Hal umum tentang Pascal Indonesia more 19 years ago