Di delphi.net, vcl.net memiliki dua penyesalan:
1. ADO (DBGO) tidak dapat digunakan, tetapi menurut Li Wei, Delphi8.1 bulan ini akan memiliki komponen ini.
2. Anda tidak dapat menggunakan ADO.NET dan BDP, ini akan menjadi topik artikel saya.
Di Area Komunikasi Delphi di Borland, Danny pernah berkata, "Di Delphi.net, VCL.Net dapat memanggil komponen WinForm, dan WinForm juga dapat memanggil komponen VCL.NET."
Untuk memverifikasi kalimat pertama, saya mencobanya. Dengan kata lain, meskipun komponen .NET tidak dapat dilihat di panel komponen VCL.NET, semua kelas komponen .NET, vcl.net, dapat digunakan! Namun, dataset ADO.NET tidak kompatibel dengan komponen dataset VCL.NET, sehingga komponen sadar data tidak dapat dipanggil secara langsung. Namun, setelah melihat Li Wei's Inside VCL, saya menemukan bahwa ada komponen AdonetConnector.
Pertama, DLL dari komponen VCL.NET memiliki borland.vcl.design.adonet.dll di bawah bds/2.0/bin. Formulir. Kemudian tambahkan dbgrid, db ..., DataSource ..., selama DataSource.dataset: = adonetConnector1. Yang lain sama dengan Delphi asli, lakukan saja. Kode spesifik saya adalah sebagai berikut
unit unit1;
antarmuka
penggunaan
Windows, pesan, sysutils, varian, kelas, grafik, kontrol, formulir,
Dialog,
System.data.sqlClient,
System.Data, System.ComponentModel, Borland.vcl.stdctrls,
Borland.vcl.extctrls, borland.vcl.dbctrls, borland.vcl.grids,
Borland.vcl.dbgrids, borland.vcl.db, borland.vcl.adonetdb;
jenis
Tform1 = class (tform)
Button1: tbutton;
AdonetConnector1: TadonetConnector;
DataSource1: tDataSource;
Dbgrid1: tdbgrid;
DbNavigator1: tdbNavigator;
Prosedur Button1Click (pengirim: Tobject);
Pribadi
{Deklarasi Pribadi}
Koneksi: SQLConnection;
ProdataSet: Dataset;
Adaptor: Sqldataadapter;
publik
{Deklarasi Publik}
akhir;
var
Form1: tform1;
Pelaksanaan
{$ R *.nfm}
Prosedur TFORM1.BUTTON1CLICK (Pengirim: Tobject);
Mulai
Koneksi: = sqlconnection.create (
'Sumber data = 192.168.76.170;'+
'Katalog Awal = Sfiecerp;'+
'Kata sandi = qwert;'+
'Sambil info keamanan = true;'+
'ID pengguna = sa;'+
'Ukuran paket = 4096;'+
'Koneksi seumur hidup = 0;'+
'Koneksi reset = false;'+
'Pooling = false;'+
'Max Pool Ukuran = 100; Min Pool Ukuran = 0');
Koneksi.open;
ProdataSet: = Dataset.Create;
Adaptor: = sqldataadapter.create ('pilih * dari tproduct', koneksi);
Adapter.Fill (ProdataSet, 'Product');
AdonetConnector1.datatable: = prodataSet.tables [0];
akhir;
akhir.
Di delphi.net, vcl.net memiliki dua penyesalan:
1. ADO (DBGO) tidak dapat digunakan, tetapi menurut Li Wei, Delphi8.1 bulan ini akan memiliki komponen ini.
2. Anda tidak dapat menggunakan ADO.NET dan BDP, ini akan menjadi topik artikel saya.
Di Area Komunikasi Delphi di Borland, Danny pernah berkata, "Di Delphi.net, VCL.Net dapat memanggil komponen WinForm, dan WinForm juga dapat memanggil komponen VCL.NET."
Untuk memverifikasi kalimat pertama, saya mencobanya. Dengan kata lain, meskipun komponen .NET tidak dapat dilihat di panel komponen VCL.NET, semua kelas komponen .NET, vcl.net, dapat digunakan! Namun, dataset ADO.NET tidak kompatibel dengan komponen dataset VCL.NET, sehingga komponen sadar data tidak dapat dipanggil secara langsung. Namun, setelah melihat Li Wei's Inside VCL, saya menemukan bahwa ada komponen AdonetConnector.
Pertama, DLL dari komponen VCL.NET memiliki borland.vcl.design.adonet.dll di bawah bds/2.0/bin. Formulir. Kemudian tambahkan dbgrid, db ..., DataSource ..., selama DataSource.dataset: = adonetConnector1. Yang lain sama dengan Delphi asli, lakukan saja. Kode spesifik saya adalah sebagai berikut
unit unit1;
antarmuka
penggunaan
Windows, pesan, sysutils, varian, kelas, grafik, kontrol, formulir,
Dialog,
System.data.sqlClient,
System.Data, System.ComponentModel, Borland.vcl.stdctrls,
Borland.vcl.extctrls, borland.vcl.dbctrls, borland.vcl.grids,
Borland.vcl.dbgrids, borland.vcl.db, borland.vcl.adonetdb;
jenis
Tform1 = class (tform)
Button1: tbutton;
AdonetConnector1: TadonetConnector;
DataSource1: tDataSource;
Dbgrid1: tdbgrid;
DbNavigator1: tdbNavigator;
Prosedur Button1Click (pengirim: Tobject);
Pribadi
{Deklarasi Pribadi}
Koneksi: SQLConnection;
ProdataSet: Dataset;
Adaptor: Sqldataadapter;
publik
{Deklarasi Publik}
akhir;
var
Form1: tform1;
Pelaksanaan
{$ R *.nfm}
Prosedur TFORM1.BUTTON1CLICK (Pengirim: Tobject);
Mulai
Koneksi: = sqlconnection.create (
'Sumber data = 192.168.76.170;'+
'Katalog Awal = Sfiecerp;'+
'Kata sandi = qwert;'+
'Sambil info keamanan = true;'+
'ID pengguna = sa;'+
'Ukuran paket = 4096;'+
'Koneksi seumur hidup = 0;'+
'Koneksi reset = false;'+
'Pooling = false;'+
'Max Pool Ukuran = 100; Min Pool Ukuran = 0');
Koneksi.open;
ProdataSet: = Dataset.Create;
Adaptor: = sqldataadapter.create ('pilih * dari tproduct', koneksi);
Adapter.Fill (ProdataSet, 'Product');
AdonetConnector1.datatable: = prodataSet.tables [0];
akhir;
akhir.