Delphi的TDataSetProvider、TDataSet、TAdoQuery、TDataSource、TDataModule控件的组合使用

Delphi的TDataSetProvider、TDataSet、TAdoQuery、TDataSource控件的组合使用

照旧先上控件布局图:

1、File-New-VCL Forms Application,找到控件挨个填上去

用到的控件:Button、TDataSetProvider、TDataSet、TAdoQuery、TDataSource、DbgridEh

设置控件之间的指向关系:

  1>ds1的DataSet指向ds2

  2>dtsprvdr1的DataSet指向qry1

  3>ds2的ProviderName指向dtsprvdr1

  4>DbGrideh的DataSource指向ds1

2、File-New-Other-DataModule,确定

添加一个Adoconnection控件,用于连连接数据库

为了方便,直接双击控件,配置连接串

保存文件

3、此时回到主窗体的pas文件,引用上边新建的DataModual的单元,

      在主窗体找到qry1,设置他的DataSource,指向DataModule5.ADOConnection1

4、给qry1的SQL属性增加所要查询的语句,例如:select  *  from testTable

5、主窗体pas文件增加函数:

 1 procedure GetConnected(Conn: TADOConnection);
 2 begin
 3   if Conn.Connected = False then
 4   begin
 5     Conn.Connected := True;
 6   end;
 7 end;
 8 
 9 function QuerySql(Sql: string; Conn: TADOConnection): boolean;
10 var
11   AdoQuery:TADOQuery;
12 begin
13   Result := False;
14   try
15     try
16       GetConnected(Conn);
17       AdoQuery := TAdoquery.Create(nil);    //必须要创建类的实例
18       AdoQuery.Close;
19       AdoQuery.Connection := Conn;
20       AdoQuery.SQL.Clear;
21       AdoQuery.SQL.Add(Sql);
22       AdoQuery.Open;
23       Result := AdoQuery.RecordCount > 0;
24     except
25       on E: Exception do
26       begin
27         ShowMessage('语句:' + Sql + #13#10 + '异常类名称:' + E.ClassName + #13#10 + '异常信息:' + E.Message);
28 
29         Application.MessageBox('查询数据库失败,请重新查询!', '提示', MB_OK + MB_ICONINFORMATION);
30         Result := False;
31       end;
32     end;
33   finally
34   end;
35 end;

6、双击Button按钮:

1   QuerySql('select * from testTable',DataModule5.ADOConnection1);
2   ds2.Active := False;
3   ds2.Active := True;

7、ok,保存,编译运行

原文地址:https://www.cnblogs.com/OSKnown/p/8624761.html