c#

位置:IT落伍者 >> c# >> 浏览文章

Delphi8里在VCL.NET使用ADO.NET


发布日期:2020年06月12日
 
Delphi8里在VCL.NET使用ADO.NET
在中有两点蛮遗憾的:

不能使用ADO(dbGo)不过据李维说本月的delphi将会有这个组件

不能使用和BDP这将是我这片文章的主题

在Borland的delphi交流区内曾经看到Danny说过在中可以调用Winform组件同样Winform也可以调用组件

为了验证第一句话我试了下在中是可以使用 Net的组件的如可以直接uses SystemDataSqlClient并直接使用 SqlConnection类也就是说虽然的组件面板中无法看组件但是所有组件的类都可以使用! 但是的dataset并不和的Dataset组件兼容所以无法直接调用数据感知组件不过看了李维的Inside Vcl知道原来有一个ADONETConnector组件用了这个组件可以使支持使用数据感知组件了

首先组件的dll在BDS\\Bin 下有一个BorlandVclDesignAdoNetdll单击 component菜单然后在窗体 vcl components页中把这个dll Add一下就可以看见ADONETConnector组件然后加一个Dbgriddbdatasoure只要datasourcedataset:=ADONETConnector其它的和原来的delphi一样就可以了我的具体代码如下

unit Unit;

interface

uses

Windows Messages SysUtils Variants Classes Graphics Controls Forms

Dialogs

SystemDataSqlClient

SystemData SystemComponentModel BorlandVclStdCtrls

BorlandVclExtCtrls BorlandVclDBCtrls BorlandVclGrids

BorlandVclDBGrids BorlandVclDb BorlandVclADONETDb;

type

TForm = class(TForm)

Button: TButton;

ADONETConnector: TADONETConnector;

DataSource: TDataSource;

DBGrid: TDBGrid;

DBNavigator: TDBNavigator;

procedure ButtonClick(Sender: TObject);

private

{ Private declarations }

Connection:SqlConnection;

ProDataSet : DataSet;

Adapter : SqlDataAdapter;

public

{ Public declarations }

end;

var

Form: TForm;

implementation

{$R *nfm}

procedure TFormButtonClick(Sender: TObject);

begin

Connection := SqlConnectionCreate(

data source= ;+

initial catalog=SfiecErp;+

password=qwert;+

persist security info=True;+

user id=sa;+

packet size=;+

Connection Lifetime=;+

Connection Reset=False;+

Pooling=False;+

Max Pool Size=;Min Pool Size=);

ConnectionOpen;

ProDataSet := DataSetCreate;

Adapter := SqlDataAdapterCreate(select * from TProduct Connection);

AdapterFill(ProDataSet Product);

ADONETConnectorDataTable:=ProDataSetTables[];

end;

end               

上一篇:当C#结构成员是引用,会发生什么

下一篇:利用Delphi2005编写C#应用程序