Komponen MySQL.Data.dll belum mampu menangani tipe data DateTime dengan baik, karena masih menggunakan komponen MySqlDateTime sendiri. Terutama pada waktu informasi DataTime dari tabel menunjukkan nilai '0000-00-00'. ini dapat ditangani dengan baik oleh ByteFX.Data.dll yang akan mengkonversi nilai '0000-00-00' menjadi string kosong "".
Manajemen pooling yang lebih baik ditunjukkan oleh ByteFX.Data.dll dengan ditutupnya pooling saat aplikasi Desktop berhasil ditutup.
Error yang diberikan oleh aplikasi saat oleh komponen Mysql.Data.dll
System.Transactions Critical: 0 :http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled Unhandled exception KMHDI_DB2008.exe System.Threading.SemaphoreFullException, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Adding the given count to the semaphore would cause it to exceed its maximum count. at System.Threading.Semaphore.Release(Int32 releaseCount)
at System.Threading.Semaphore.Release()
at MySql.Data.MySqlClient.MySqlPool.RemoveConnection(Driver driver)
at MySql.Data.MySqlClient.MySqlPoolManager.RemoveConnection(Driver driver)
at MySql.Data.MySqlClient.NativeDriver.Dispose(Boolean disposing)
at MySql.Data.MySqlClient.Driver.Close()
at MySql.Data.MySqlClient.NativeDriver.Finalize()System.Threading.SemaphoreFullException: Adding the given count to the semaphore would cause it to exceed its maximum count.
at System.Threading.Semaphore.Release(Int32 releaseCount)
at System.Threading.Semaphore.Release()
at MySql.Data.MySqlClient.MySqlPool.RemoveConnection(Driver driver)
at MySql.Data.MySqlClient.MySqlPoolManager.RemoveConnection(Driver driver)
at MySql.Data.MySqlClient.NativeDriver.Dispose(Boolean disposing)
at MySql.Data.MySqlClient.Driver.Close()
at MySql.Data.MySqlClient.NativeDriver.Finalize()
Pada saat pengujian ini komponen Mysql.Data.dll yang digunakan versi 5.1.6.0 sedangkan ByteFX.Data.dll versi 0.7.6.2.
untuk mengisi DataGrid terdapat beberapa komponen yang dapat digunakan :
- MySqlConnection
- MySqlCommand
- MySqlDataAdapter
- MySqlCommandBuilder
- DataSet
- DataGrid
langkah-langkah yang perlu dilakukan :
1. menambahkan library MySql.Data.dll dari MySQL Connector/NET atau dapat menggunakan komponen ByteFX.Data.dll dari Mono.
2. Menambahkan semua obyek yang diperlukan
3. mengatur properti MySqlConnection
ConnectionString :
contoh :
server=localhost;userid=root;password=rootpwd;database=test
4. mengatur properti MySqlCommand
- Connection : di set pada obyek dari MySqlConnection
- CommandText : isikan dengan query sql SELECT yang akan dijalankan
5. mengatur properti MySqlDataAdapter
SelectCommand : isikan dengan obyek dari MySqlCommand
6. mengatur properti MySqlCommandBuilder
DataAdapter : isikan denga obyek dari MySqlDataAdapter
7. mengatur properti DataGrid
DataSource : isikan dengan obyek dari DataSet
8. pada event Load dari form tambahkan beberapa baris perintah ini :
// membuka koneksi ke mysql
mySqlConnection1.Open();
// mengisi dataset dengan data hasil eksekusi query
mySqlDataAdapter1.Fill(dataSet1, "telp");
// menampilkan hasil query pada datagrid
dataGrid1.DataMember = "telp";
// menutup koneksi mysql
mySqlConnection1.Close();
9. Tekan F5 (Run Project) Untuk milihat hasilnya.
Tidak ada komentar :
Posting Komentar