Tutor Mysql Vs2008 Quickreport

12
[email protected] , ilmubarokah.wordpress.com Tutorial membuat report Crystal Report memiliki keunggulan berupa designer yang berbentuk visual, untuk mendesain laporan, cukup dengan meload dataset yang terlebih dahulu diseting di visual studio, terutama untuk database yang telah terintegrasi dengan Microsoft Visual Studio seperti Microsoft SQL Server. Lain halnya dengan MySql, database ini tidak berintegrasi dengan VS, sehingga memerlukan perantara untuk bisa berkomunikasi dengan .NET visual Studio. Dalam kasus pemrograman ini, diperlukan MYSQL driver connector for VS C#, di aplikasi digunakan versi 6.24. driver tersebut dapat digunakan dengan sempurna di kode-kode C#, akan tetapi untuk melakukan desain laporan, driver tersebut tidak dapat digunakan, sehingga memerlukan dataset pembantu, atau biasa disebut DataSet saja. Untuk mengambil nama field database yang digunakan, bisa menggunakan nama-nama field yang ditulis sama dengan nama field di database. Cara lain yang dapat digunakan yaitu dengan menggunakan Table adapter. Table adapter ini dapat digunakan pada database terintegrasi, sedangkan untuk mySQL, masih memerlukan ODBC connector menggunakan ODBC mySql Connector, skema laporan dapat dilihat sebagai berikut : ODBC MySql Connector MySql Connector MySql Servers Baba struktur database Interface tabel / Tabel adapter DataSet1.xsd myReport.rpt (crystal report) data Class DataSetLoader Mengeksekusi query ClassAkhir Memberi perintah Tampilan laporan Aplikasi data data

Transcript of Tutor Mysql Vs2008 Quickreport

Page 1: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

Tutorial membuat report

Crystal Report memiliki keunggulan berupa designer yang berbentuk visual, untuk mendesain laporan,

cukup dengan meload dataset yang terlebih dahulu diseting di visual studio, terutama untuk database

yang telah terintegrasi dengan Microsoft Visual Studio seperti Microsoft SQL Server.

Lain halnya dengan MySql, database ini tidak berintegrasi dengan VS, sehingga memerlukan perantara

untuk bisa berkomunikasi dengan .NET visual Studio. Dalam kasus pemrograman ini, diperlukan MYSQL

driver connector for VS C#, di aplikasi digunakan versi 6.24. driver tersebut dapat digunakan dengan

sempurna di kode-kode C#, akan tetapi untuk melakukan desain laporan, driver tersebut tidak dapat

digunakan, sehingga memerlukan dataset pembantu, atau biasa disebut DataSet saja. Untuk mengambil

nama field database yang digunakan, bisa menggunakan nama-nama field yang ditulis sama dengan

nama field di database.

Cara lain yang dapat digunakan yaitu dengan menggunakan Table adapter. Table adapter ini dapat

digunakan pada database terintegrasi, sedangkan untuk mySQL, masih memerlukan ODBC connector

menggunakan ODBC mySql Connector, skema laporan dapat dilihat sebagai berikut :

ODBC MySql

Connector

MySql Connector

MySql Servers

Baba

struktur databaseInterface tabel

/

Tabel adapter

DataSet1.xsd

myReport.rpt

(crystal

report)

data

Class

DataSetLoader

Mengeksekusi

query

ClassAkhirMemberi

perintah

Tampilan

laporan

Aplikasi

data

data

Page 2: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

Tutorial Cara membuat Laporan menggunakan VS C# Crystal Report, dan mySql Server :

1. Set ODBC driver connector dengan menginstal driver ODBC for MySql

- Setelah terinstal, lakukan konfigurasi di Windows,

- Ke sub menu System DSN dan pilih menu add, dan pilih driver mySQL

- Tekan finish dan muncul menu :

Page 3: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

- selebihnya diisi sesuai database dituju, di sistem DSN nantinya memunculkan data source baru.

- Penggunaan ODBC driver connector ini bersifat optional, bisa digunakan atau tidak. Di komputer

client, sangat dianjurkan untuk tidak diinstal, karena program berkomunikasi dengan driver lain.

Penggunaan ODBC driver hanya pada waktu desain interface report.

2. Launch visual Studio, dan buat project baru, add mysql connector sebagai referensi, dengan

memilih menu project->add reference, pilih tab browse, dan pilih mysql.data.dll

3. Buat dataset tabel yang akan ditampilkan pada report dengan memilih menu project->add new

item -> pilih dataset

4. Pada designer dataset, buat tabel yang akan ditampilkan, ada dua cara yang dapat digunakan,

dengan memilih menu add new Table, atau menggunakan table adapter. Di sini akan digunakan

table adapter dengan menggunakan ODBC driver, dan database default XAMPP MYSQL yaitu

“information_schema”, diawali dengan memilih menu “new connection”,

Page 4: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

Beri nama connection string tersebut, kemudian di wizard berikut, pilih use sql statement,

Kemudian pada jendela query ketikkan query yang ingin ditampilkan di database,

Untuk database relational table juga menggunakan perintah yang sama, dengan syarat tidak

boleh ada nama column yang sama

Pada kasus ini, nama table yang akan ditampilkan di report adalah table COLUMNS di database

Information_Schema.

Page 5: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

Kemudian tekan FINISH, dan akan menghasilkan table adapter di dataset1.xsd

Rename nama table adapter tersebut, dan dataset1.xsd siap digunakan

5. Pada form1, tambahkan CrystalReportViewer

Page 6: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

6. Setelah itu, pilih menu projects->add new item, dan pilih crystal report, beri nama report yang

diinginkan

7. Akan muncul wizard seperti berikut, untuk tutorial ini, pilih blank report

Page 7: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

8. Pada report baru yang dibuat, akan memiliki tampilan sebagai berikut,

9. Load dataset yang telah dipersiapkan dengan cara memilih menu

CrystalReport�Database�Database Expert, dan pilih Create new connection�ADO.NET, pada

menu berikut :

Page 8: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

Load Dataset yang telah dibuat, tekan finish

Page 9: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

Tekan OK dan dataset sudah dapat didesain di report.

10. Pilh nama Field yang ingin ditampilkan, pada report, hanya yang diletakkan pada section Details

yang akan berulang mengikuti susunan row hasil queri. Untuk melakukan preview, dapat dipilih

di Crystal_repots�preview reports

11. Sampai di sini, report telah siap digunakan, beralih pada form1.cs, buka halaman code form1.cs

tambahkan code using berikut :

Page 10: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com using MySql.Data.MySqlClient;

12. Selanjutnya kode untuk meload data dari database dapat dilihat dari code berikut

private void loadReport()

{

DataSet1 DataReport;

MySqlConnection conn;

MySqlCommand cmd;

MySqlDataAdapter adap;

string strConn="Server=localhost;

Database=information_schema;"

+"User ID=root; Password=; charset=utf8;Allow

Zero Datetime=true;";

conn = new MySqlConnection(strConn);

adap = new MySqlDataAdapter();

DataReport = new DataSet1();

DataReport.Clear();

cmd = conn.CreateCommand();

cmd = new MySqlCommand("select * from COLUMNS", conn);

//cmd.CommandType = CommandType.StoredProcedure;

//cmd.Parameters.AddWithValue("?in_information_schema",

"information_schema");

conn.Open();

adap = new MySqlDataAdapter();

adap.SelectCommand = cmd;

conn.Close();

adap.Fill(DataReport, "DataTable1");

tutorCrReport C = new tutorCrReport();

C.SetDataSource(DataReport);

crystalReportViewer1.ReportSource = C;

} Pada bagian baris kode yang di”comment”, dapat dipergunakan untuk

meload stored procedure, sementara ini menggunakan perintah query

“select * from COLUMNS” dapat diganti dengan nama stored procedure,

serta ?in_information_schema dapat diganti dengan nama stored

procedure yang meload data

13. Hasil akhir laporan berupa berikut :

Page 11: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com

Lakukan modifikasi report, dan pelajari lebih lanjut tentang group field, function field, running

total field, grafik dan yang lain.

14. Selamat mencoba dan semoga sukses

Tambahan :

Pada saat runtime, text, maupun object lain yang ada di report dapat diubah, termasuk jika dalam report

hendak memuat gambar yang berasal dari program (bukan gambar statis), bisa menggunakan cara

berikut :

Tambahkan using : using CrystalDecisions.Shared;

using CrystalDecisions.CrystalReports.Engine;

using CrystalDecisions.Windows.Forms;

Tambahkan kode berikut :

TextObject textObject;

textObject =

cr.ReportDefinition.Sections[3].ReportObjects["N

amaTextObjectDiReport"] as TextObject;

textObject.Text = "Isi apapun di sini"];

Untuk Gambar, pada data set, tambahkan tabel baru, dan

sebuah field dengan tipe array byte

tambahkan field tersebut pada report, dan lakukan pengisian

field tersebut dengan array byte, bisa juga dengan tipe jpeg /

bitmap, dsb, yang dikonversi menjadi byte dengan fungsi

sebagai berikut :

private static byte[]

ConvertImageToByteArray(System.Drawing.Image imageToConvert,

System.Drawing.Imaging.ImageFormat formatOfImage)

{

byte[] Ret;

try

{

using (MemoryStream ms = new MemoryStream())

Page 12: Tutor Mysql Vs2008 Quickreport

[email protected], ilmubarokah.wordpress.com {

imageToConvert.Save(ms, formatOfImage);

Ret = ms.ToArray();

}

}

catch (Exception) { throw; }

return Ret;

}

Hasilnya berupa array byte, dan load pada report dengan cara

byte[] arrayByteGambar = ConvertImageToByteArray(ImageSource,

System.Drawing.Imaging.ImageFormat.Jpeg);

// System.Drawing.Imaging.ImageFormat.Jpeg

// dapat diganti tergantung tipe image

DataReport.Tables["TableGambar"].Rows.Add(arrayByteGambar);