delphi.netでは、vcl.netには2つの後悔があります。
1。ADO(DBGO)は使用できませんが、Li Weiによると、今月のDelphi8.1にはこのコンポーネントがあります。
2. ADO.NETとBDPを使用することはできません。これが私の記事のトピックになります。
ボーランドのデルファイ通信エリアでは、ダニーはかつて「delphi.netでは、vcl.netがwinformコンポーネントを呼び出すことができ、winformはvcl.netコンポーネントを呼び出すこともできます。」
最初の文を検証するために、vcl.netで試しました。言い換えれば、.NETコンポーネントはVCL.NETコンポーネントパネルには表示されませんが、すべての.NETコンポーネントクラス、VCL.NETを使用できます! ただし、ADO.NETのデータセットはVCL.NETのデータセットコンポーネントと互換性がないため、データ認識コンポーネントを直接呼び出すことはできません。ただし、Li WeiのVCL内を見た後、AdonetConnectorコンポーネントがあることがわかりました。
まず、vcl.netコンポーネントのdllには、bds/2.0/binの下にあるborland.vcl.design.adonet.dllがあり、.NET VCLコンポーネントページにこのDLLを追加します。フォームAdonetConnectorコンポーネントを見ることができます。次に、DATASOURCE.DATASET:= adonetConnector1の場合、dbgrid、db ...、datasource ...を追加します。他は元のDelphiと同じです。私の特定のコードは次のとおりです
ユニットユニット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 = class(tform)
Button1:Tbutton;
adonetconnector1:tadonetconnector;
DataSource1:tdatasource;
dbgrid1:tdbgrid;
dbnavigator1:tdbnavigator;
手順button1click(sender:tobject);
プライベート
{プライベート宣言}
接続:sqlconnection;
Prodataset:データセット。
アダプター:sqldataadapter;
公共
{公開宣言}
終わり;
var
form1:tform1;
実装
{$ r *.nfm}
手順tform1.button1click(sender:tobject);
始める
接続:= sqlconnection.create(
'データソース= 192.168.76.170;'+
'初期カタログ= sfiecerp;'+
'password = qwert;'+
'セキュリティ情報を永続させる= true;'+
'ユーザーID = SA;'+
'パケットサイズ= 4096;'+
'Connection Lifetime = 0;'+
'接続リセット= false;'+
'プーリング= false;'+
'マックスプールサイズ= 100;最小プールサイズ= 0');
connection.open;
Prodataset:= dataset.create;
adapter:= sqldataadapter.create( 'select * from tproduct'、connection);
adapter.fill(Prodataset、 'Product');
adonetconnector1.datatable:= prodataset.tables [0];
終わり;
終わり。
delphi.netでは、vcl.netには2つの後悔があります。
1。ADO(DBGO)は使用できませんが、Li Weiによると、今月のDelphi8.1にはこのコンポーネントがあります。
2. ADO.NETとBDPを使用することはできません。これが私の記事のトピックになります。
ボーランドのデルファイ通信エリアでは、ダニーはかつて「delphi.netでは、vcl.netがwinformコンポーネントを呼び出すことができ、winformはvcl.netコンポーネントを呼び出すこともできます。」
最初の文を検証するために、vcl.netで試しました。言い換えれば、.NETコンポーネントはVCL.NETコンポーネントパネルには表示されませんが、すべての.NETコンポーネントクラス、VCL.NETを使用できます! ただし、ADO.NETのデータセットはVCL.NETのデータセットコンポーネントと互換性がないため、データ認識コンポーネントを直接呼び出すことはできません。ただし、Li WeiのVCL内を見た後、AdonetConnectorコンポーネントがあることがわかりました。
まず、vcl.netコンポーネントのdllには、bds/2.0/binの下にあるborland.vcl.design.adonet.dllがあります。フォームAdonetConnectorコンポーネントを見ることができます。次に、DATASOURCE.DATASET:= adonetConnector1の場合、dbgrid、db ...、datasource ...を追加します。他は元のDelphiと同じです。私の特定のコードは次のとおりです
ユニットユニット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 = class(tform)
Button1:Tbutton;
adonetconnector1:tadonetconnector;
DataSource1:tdatasource;
dbgrid1:tdbgrid;
dbnavigator1:tdbnavigator;
手順button1click(sender:tobject);
プライベート
{プライベート宣言}
接続:sqlconnection;
Prodataset:データセット。
アダプター:sqldataadapter;
公共
{公開宣言}
終わり;
var
form1:tform1;
実装
{$ r *.nfm}
手順tform1.button1click(sender:tobject);
始める
接続:= sqlconnection.create(
'データソース= 192.168.76.170;'+
'初期カタログ= sfiecerp;'+
'password = qwert;'+
'セキュリティ情報を永続させる= true;'+
'ユーザーID = SA;'+
'パケットサイズ= 4096;'+
'Connection Lifetime = 0;'+
'接続リセット= false;'+
'プーリング= false;'+
'マックスプールサイズ= 100;最小プールサイズ= 0');
connection.open;
Prodataset:= dataset.create;
adapter:= sqldataadapter.create( 'select * from tproduct'、connection);
adapter.fill(Prodataset、 'Product');
adonetconnector1.datatable:= prodataset.tables [0];
終わり;
終わり。