delphi.net では、VCL.net には 2 つの残念な点があります。
1. ADO (dbGo) は使用できませんが、Levi 氏によると、このコンポーネントは将来的に使用可能になる予定です。
2. 今回のテーマとなるADO.netとBDPが利用できない。
Borland の delphi コミュニケーション エリアで、Danny が「delphi.net では、VCL.net は Winform コンポーネントを呼び出すことができ、Winform も VCL.net コンポーネントを呼び出すことができます。」と言っているのを見たことがあります。
最初の文を検証するために、Vcl.net で .Net コンポーネントを使用できます。たとえば、System.Data.SqlClient を直接使用して、SqlConnection クラスを使用できます。つまり、.net コンポーネントは VCL.net のコンポーネント パネルには表示されませんが、すべての .net コンポーネント クラスは VCL.net で使用できます。 ただし、Ado.net のデータセットは VCl.net のデータセット コンポーネントと互換性がないため、データ対応コンポーネントを直接呼び出すことはできません。しかし、Levi's Inside Vcl を読んだ後、ADONETConnector コンポーネントがあることを知りました。このコンポーネントを使用すると、Ado.net はデータ対応コンポーネントの使用をサポートできます。
まず、VCL.net コンポーネントの dll は、BDS/2.0/Bin に Borland.Vcl.Design.AdoNet.dll を持っています。 [.net コンポーネントのインストール] メニューをクリックし、この dll を .net vcl コンポーネント ページに追加します。フォームをクリックすると、ADONETConnector コンポーネントが表示されます。次に、datasource.dataset:=ADONETConnector1 である限り、Dbgrid、db....、datasoure.... を追加します。残りはオリジナルの Delphi と同じで、それだけです。 BDPについても同様の修正方法が有効です。
私の具体的なコードは次のとおりです、
ユニットユニット1;
インタフェース
用途
ウィンドウ、メッセージ、SysUtils、バリアント、クラス、グラフィックス、コントロール、フォーム、
ダイアログ、
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;
タイプ
TForm1 = クラス(TForm)
ボタン 1: T ボタン;
ADONETConnector1: TADONETコネクタ;
データソース 1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
手順 Button1Click(送信者: TObject);
プライベート
{プライベート宣言}
接続:SQLConnection;
ProDataSet : データセット;
アダプター: SqlDataAdapter;
公共
{公的宣言}
終わり;
変数
フォーム1: TForm1;
実装
{$R *.nfm}
プロシージャ TForm1.Button1Click(送信者: TObject);
始める
接続 := SqlConnection.Create('...');
接続.オープン;
ProDataSet := DataSet.Create;
アダプター := SqlDataAdapter.Create('select * from Product', Connection);
Adapter.Fill(ProDataSet, '製品');
ADONETConnector1.DataTable:=ProDataSet.Tables[0];
終わり;
終わり。