Di delphi.net, VCL.net memiliki dua penyesalan:
1. ADO (dbGo) belum bisa digunakan, namun menurut Levi, komponen ini akan tersedia kedepannya.
2. ADO.net dan BDP tidak dapat digunakan, itulah tema artikel ini.
Di area komunikasi delphi Borland, saya pernah melihat Danny berkata, "Di delphi.net, VCL.net dapat memanggil komponen Winform, dan Winform juga dapat memanggil komponen VCL.net."
Untuk memverifikasi kalimat pertama, saya mencobanya. Anda dapat menggunakan komponen .Net di Vcl.net, misalnya Anda dapat langsung menggunakan System.Data.SqlClient dan langsung menggunakan kelas SqlConnection. Dengan kata lain, walaupun komponen .net tidak dapat dilihat di panel komponen VCL.net, semua kelas komponen .net dapat digunakan oleh VCl.net! Namun, dataset Ado.net tidak kompatibel dengan komponen Dataset VCl.net, sehingga komponen data-aware tidak dapat dipanggil secara langsung. Namun setelah membaca Levi's Inside Vcl, saya mengetahui bahwa ada komponen ADONETConnector. Dengan menggunakan komponen ini, Ado.net dapat mendukung penggunaan komponen data-aware.
Pertama, dll dari komponen VCL.net memiliki Borland.Vcl.Design.AdoNet.dll di bawah BDS/2.0/Bin.Klik menu Instal komponen .net, lalu tambahkan dll ini di halaman komponen .net vcl form.Setelah diklik, Anda dapat melihat komponen ADONETConnector. Kemudian tambahkan Dbgrid, db...., datasoure...., selama datasource.dataset:=ADONETConnector1. Selebihnya sama dengan Delphi asli, itu saja. Metode modifikasi yang sama juga efektif untuk BDP.
Kode spesifik saya adalah sebagai berikut,
satuan Unit1;
antarmuka
kegunaan
Windows, Pesan, SysUtils, Varian, Kelas, Grafik, Kontrol, Formulir,
Dialog,
Sistem.Data.SqlClient,
Sistem.Data, Sistem.ComponentModel, Borland.Vcl.StdCtrls,
Borland.Vcl.ExtCtrls, Borland.Vcl.DBCtrls, Borland.Vcl.Grids,
Borland.Vcl.DBGrids, Borland.Vcl.Db, Borland.Vcl.ADONETDb;
jenis
TForm1 = kelas(TForm)
Tombol1: Tombol T;
ADONETConnector1: TADONETConnector;
Sumber Data1: Sumber Data T;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Tombol Prosedur1Klik(Pengirim: TObject);
pribadi
{Deklarasi pribadi}
Koneksi:SqlConnection;
ProDataSet : Kumpulan Data;
Adaptor: SqlDataAdapter;
publik
{Pernyataan publik}
akhir;
var
Formulir1: TForm1;
pelaksanaan
{$R *.nfm}
prosedur TForm1.Button1Click(Pengirim: TObject);
mulai
Koneksi := SqlConnection.Create('...');
Koneksi.Buka;
ProDataSet := DataSet.Buat;
Adaptor := SqlDataAdapter.Create('pilih * dari Produk', Koneksi);
Adaptor.Isi(ProDataSet, 'Produk');
ADONETConnector1.DataTable:=ProDataSet.Tables[0];
akhir;
akhir.