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,保存,编译运行
来源:oschina
链接:https://my.oschina.net/u/4403820/blog/4036840