1. Ikhtisar
Sebagai alat pengembangan cepat di bawah Windows, Delphi tidak hanya dapat mengembangkan aplikasi Windows secara umum, tetapi juga memiliki fungsi pengembangan aplikasi database yang kuat. Delphi sendiri menyediakan dukungan untuk beberapa driver database seperti BDE, ODBC, ADO dan InterBase, yang dapat memenuhi kebutuhan berbagai aplikasi untuk pengembangan program database.
Namun, ketika menerbitkan program database yang dikembangkan dengan Delphi, selain menginstal aplikasi, Anda juga perlu mempublikasikan driver database pada saat yang bersamaan. Ini tampaknya agak berat untuk beberapa aplikasi yang berdiri sendiri yang hanya melibatkan satu atau beberapa penyimpanan data tabel sederhana. Selain itu, beberapa aplikasi sendiri perlu menyimpan data dalam jumlah besar, tetapi jika hasilnya sendiri harus singkat dan ringkas, metode pengembangan database konvensional menggunakan Delphi tidak dapat memenuhi kebutuhan tersebut.
Jadi, adakah cara untuk mengatasi kontradiksi di atas dan mengembangkan aplikasi database "tipis" yang berdiri sendiri yang dapat dipisahkan dari driver database yang besar? Delphi5 menyediakan kontrol TClientDataSet di panel kontrol Midas, yang dapat mengatasi masalah ini dengan baik.
2. Poin-poin penting dalam menggunakan TClientDataSet
Kontrol TClientDataSet mewarisi dari TDataSet, dan ekstensi format file penyimpanan datanya adalah .cds. Ini adalah kontrol berdasarkan penyimpanan dan operasi data tipe file. Kontrol ini merangkum antarmuka dan fungsi untuk mengoperasikan dan memproses data, dan tidak bergantung pada driver database yang disebutkan di atas. Kontrol ini pada dasarnya dapat memenuhi kebutuhan aplikasi database "tipis" yang berdiri sendiri.
1. Pengenalan properti dasar dan metode TClientDataSet
1). FieldDefs: properti daftar definisi bidang
Pengembang dapat mengedit bidang dengan mengklik tombol pengeditan properti di editor properti, atau dengan mengklik kanan pada kontrol dan memilih menu "Editor Bidang" di menu pop-up. Setelah mengatur properti ini, sebenarnya sama dengan mendefinisikan struktur tabel; jika Anda ingin memuat struktur dan data tabel data yang ada, Anda dapat mengklik kanan dan memilih menu "Tetapkan Data Lokal" di pop- menu atas. Di kotak dialog, pilih nama kontrol kumpulan data yang terhubung ke database dalam formulir saat ini (kontrol kumpulan data yang akan diterapkan harus ditempatkan dalam formulir saat ini dan diaktifkan).
Catatan penggunaan:
Untuk tabel nama bidang yang disesuaikan, setelah mengedit properti, kontrol masih tidak dapat dibuka. Anda harus mengklik kanan kontrol dan memilih menu "Buat Kumpulan Data" di menu pop-up untuk mengizinkan kontrol membuat kumpulan data berdasarkan daftar bidang yang diedit di atas sebelum dapat diaktifkan, dibuka, dan digunakan. Jika tidak, kesalahan yang mirip dengan "ClientDataSet1: PRavider data atau paket data tidak ada" akan terjadi (termasuk saat runtime, runtime dapat memanggil metode kontrol CreateDataSet untuk menentukan bidang dan tabel secara dinamis).
2). Properti Nama File
Deskripsi: Nama file penyimpanan data.
Karena kontrol ini adalah kontrol operasi data berbasis file, Anda harus menentukan nama file data yang dioperasikan (nama ekstensi default .cds) untuk membuka dan mengaktifkan kontrol untuk pengeditan data.
Contoh 1: Gunakan properti ini untuk membuka file .cds yang ditentukan
var
Jalur: tali;
mulai
Jalur := ExtractFilePath(application.ExeName); //Dapatkan jalur file yang dapat dieksekusi
CDataSet1.FileName := Jalur + 'test.cds';
CDataSet1.Buka;
akhir;
3). Metode BuatDataSet
Deskripsi: Metode ini menggunakan tabel nama bidang di FieldDefs sebagai struktur untuk membuat kumpulan data, yang sering digunakan untuk mendefinisikan tabel secara dinamis.
Contoh 2: Buat kumpulan data secara dinamis dengan dua bidang: nama dan usia.
//Membuat tabel nama field
CDataSet.FieldDefs.Hapus;
dengan CDataSet.FieldDefs.AddFieldDef lakukan
mulai
Nama := 'Nama';
Ukuran := 10;
Tipe Data := ftString;
akhir;
dengan CDataSet.FieldDefs.AddFieldDef lakukan
mulai
Nama := 'Umur';
Tipe Data := ftInteger;
akhir;
//Membuat kumpulan data secara dinamis
CDataSet.CreateDataSet;
//Aktifkan dan buka kumpulan data
CDataSet.Buka;
4). Metode terbuka
Deskripsi: Membuka dan mengaktifkan kontrol kumpulan data untuk mengedit data.
a.Jika atribut FileName ditentukan, kontrol dapat dibuka dan diaktifkan langsung menggunakan metode Open, lihat Contoh 1.
b. Jika atribut Nama File tidak ditentukan, Anda dapat menggunakan metode dalam Contoh 2 untuk membuat dan membuka kumpulan data secara dinamis dan kemudian memanipulasi data.
5). LoadFromFile dan SaveToFile
Deskripsi: Memuat struktur tabel dan data dari file dan menyimpan data ke file. Cara ini mirip dengan fungsi Open New File dan Save As di Word.
Contoh 3: Simpan data kumpulan data ke dalam file yang ditentukan
CDataSet.SaveToFile('c:/windows/desktop/test.cds');
6).Pertama (ke awal), Sebelum (maju), Berikutnya (mundur), Terakhir (ke akhir), Edit (edit), Batal (batalkan pengeditan), Posting (simpan), Sisipkan (masukkan rekaman), Tambah (Tambahkan catatan), Hapus (hapus), Refresh (penyegaran data) dan metode kumpulan data umum lainnya
Catatan: Ketika atribut FileName ditentukan, metode Post-nya dapat menyimpan data dalam file yang ditentukan, mirip dengan metode SaveToFile, jika nama file penyimpanan tidak ditentukan, metode Post hanya menyimpan data dalam RAM; Metode lain sama dengan penggunaan kontrol kumpulan data umum, dihilangkan.
7).Filter, Difilter: memfilter properti
Deskripsi: Digunakan untuk memfilter rekaman dengan kondisi tertentu. Penggunaannya sama dengan kontrol kumpulan data umum, yaitu dihilangkan.
Contoh 4: Filter rekaman dengan jenis kelamin laki-laki dalam kumpulan data yang diaktifkan dan dibuka
CDataSet.Tutup;
CDataSet.Filter := 'Jenis Kelamin=''' + 'Pria' + '''';
CDataSet.Filtered := Benar;
CDataSet.Buka;
2. Catatan untuk penerbitan aplikasi menggunakan kontrol TClientDataSet:
Seperti disebutkan sebelumnya, program yang menggunakan kontrol TClientDataSet tidak memerlukan driver database apa pun saat dirilis, sehingga sangat menghemat ukuran file instalasi. Namun saat memublikasikan program, jangan lupa untuk mempublikasikan midas.dll (257KB) di direktori sistem Windows bersama dengan aplikasinya (diperlukan untuk pengoperasian), jika tidak, program tetap tidak akan berjalan normal.
3. Kesimpulan
Dengan menggunakan kontrol TClientDataSet di Delphi, aplikasi dapat sepenuhnya dipisahkan dari driver database, dan karakteristik kontrol kumpulan data konvensional yang sederhana dan mudah digunakan dapat diwujudkan, menyediakan metode teknis dan sarana untuk menulis "tipis" aplikasi basis data.
Program di atas telah diuji pada Pwindows98 dan Delphi5.