Salah satu fitur paling menarik dari Delphi adalah kemampuan akses basis data yang kuat, yang dapat dengan mudah membuat dan mengedit database melalui alat desktop basis data. Karena alasan praktis, kita sering perlu secara dinamis membangun database tertentu saat program berjalan.
Jika Anda meminta pengguna untuk secara manual membuat tabel data menggunakan alat desktop basis data, program yang Anda tulis akan sangat didiskon, tetapi Anda tidak perlu khawatir bahwa Delphi dapat menyelesaikan fungsi ini dalam bahasa, yang memberi kami kenyamanan. Saya telah merangkum dua metode dalam studi dan praktik saya, yang saya sebut metode tabel dan metode SQL. Berikut ini menjelaskan proses pembentukan database dinamis melalui contoh -contoh sederhana.
1. Metode Tabel:
1. (Ambil contoh membangun tabel data paradoks dengan asumsi nama perpustakaan adalah ljh.db). Buat file proyek baru Zhoudf.dpr.
2. Pilih elemen tombol pada panel dan letakkan di tabel Form1.
Prosedur TFORM1.BUTTON2CLICK (Pengirim: Tobject);
var table1: ttable; mulai tabel1: = ttable.create (self);
dengan tabel1 mulai aktif: = false;
Tablename: = 'ljh.db';
Tabletype: = TTParAdox; dengan FieldsDefs do {Metode ini menambahkan bidang ke ljh.db} Mulai dengan jelas;
tambahkan ('yj', ftdate, 0, false);
tambahkan ('zp', ftstring, 10, false); {tambahkan nama bidang tertentu dan ketik}
add ('zdm', ftinteger, 0, false);
akhir;
Dengan indexDefs do {Metode ini menambahkan bidang indeks ke ljh.db} mulai dengan jelas;
Tambahkan ('yjindex', 'yj', [ixprimary]);
akhir;
Createtable;
akhir;
akhir;
2. Metode SQL: Pilih elemen tombol pada panel dan letakkan di tabel Form1.
Prosedur TFORM1.BUTTON2CLICK (Pengirim: Tobject);
var table2: tquery; mulai tabel2: = tquery.create (self);
Dengan table2 mulai dengan SQL mulai jelas;
tambahkan ('Buat tabel "ljh.db"');
add ('(yj date,'); {Catatan '('} dalam kutipan
tambahkan ('zp char (10),');
add ('zdm int)'); {note ')' dalam kutipan}
akhir;
execsql;
sql.clear;
sql.add ('buat indeks yj pada "ljh.db" (yj)');
execsql;
akhir;
akhir;
* Kompilasi saja program ini. * Perlu dicatat bahwa jika perpustakaan sudah ada, pesan kesalahan akan dihasilkan, dan jika perpustakaan sudah ada, metode tabel tidak perlu dipertimbangkan.