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

Delphi的TDataSetProvider、TDataSet、TAdoQuery、TDataSource、TDataModule控件的组合使用相关推荐

  1. Delphi 7 中使用IdUDPServer1和IdUDPClient1控件实现通信检测

    Delphi 7 中使用IdUDPServer1和IdUDPClient1控件实现通信,可是如何检测两台电脑已经连通了?代码怎么写啊?求大神 D7确实经典,但已经落伍了,用xe版本吧 udp发送这个东 ...

  2. zw版【转发·台湾nvp系列Delphi例程】.NET调用HALCON COM控件内存释放模式

    zw版[转发·台湾nvp系列Delphi例程].NET调用HALCON COM控件内存释放模式 ------------------------------------ 方法一 : Imports S ...

  3. FastReport_V6.X for Delphi 10.4 ,最快的报表控件上市了!

    FastReport_V6.X for Delphi 10.4 ,最快的报表控件上市了! FastReport 是非常强大的报表控件,相比QuickReport,ReportBuilder更加灵活,又 ...

  4. 【MFC】学习笔记:常用控件之组合框(Combo Box)

    01.目录 目录 01.目录 02.控件介绍 03.控件的消息通知函数 04.创建组合框控件及成员函数介绍 4.1 组合框的创建 4.2 CComboBox类的主要成员函数 05.应用实例 06.总结 ...

  5. 【delphi】开发微信小程序后台控件(一)(含源代码、演示程序、控件使用帮助)

    1. 前言 微信小程序已经非常普及,但是遗憾的是官方提供的 SDK 等没有Delphi语言的,这样使用Delphi语言开发微信小程序后台就相对比较困难,需要研究平台API,费时费力,特别是调试API很 ...

  6. Delphi 百度智能云 OCR API 调用控件

    百度智能云提供了OCR识别功能,其识别种类非常丰富,包括:卡证文字识别.通用场景文字识别.交通场景文字识别.财务票据文字识别...等等.无论是移动端,还是PC端,通过调用OCR服务,可以方便的识别成需 ...

  7. 【delphi】开发微信小程序后台控件(三)(含源代码、演示程序、控件使用帮助)

    7. 微信小程序控件测试 7.1 设置参数 选择[公共功能]-[编辑控件属性]菜单,设置相关参数并保存 7.2 双击绿色运行按键或者 启动小程序功能 菜单 至此,小程序后台服务已经成功启动,可以在前端 ...

  8. android 原理 组合控件_Android_组合方式自定义控件

    用组合的方式自定义一个导航栏,功能: 左边个back被点击时,用监听的方式告诉系统自己被点击了了:右边个back被点击时,进入下一个界面. a.png 在MainActivity中用代码实现: 定义一 ...

  9. Excel高级图表制作④——控件+Offset组合,让图表真正动起来!

    公众号: 数据小斑马,关注即可获得价值1000元的数据分析学习资料 Excel 系列目录: Excel数据分析常用函数①--查询函数 Excel高级图表制作①--电池图/KPI完成情况对比图 Exce ...

  10. Delphi制作数据感知控件之浮想联翩

    王维康 编写 知识点 本文共有6个关于控件的知识点: 1.基本控件的制作:2.感知属性的添加:3.关联控件的销毁处理: 4.事件方法的赋值: 5.属性页的制作:  6.组件包设计思想 关于制作感知控件 ...

最新文章

  1. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二
  2. CSS美化网页元素大全
  3. ITK:沿所选方向累积图像的像素
  4. 北航 计算机学院 2011级学生会,北航学生会主席在2011级新生开学典礼发言稿.doc...
  5. 流式大数据计算实践(4)----HBase安装
  6. Single Number 只出现一次的数字 python实现 - ...
  7. qt 字体 qss加载字体_字体加载技术
  8. 使用cmd和excel完成批量复制所需文件夹和文件
  9. 典型ARM嵌入式Linux设备启动流程-S3C2440,S5PV210,AM3352x
  10. html ul默认的项目符号是什么形状,列表项ol、ul前项目符号
  11. 受了点小伤,心情怎么就变坏了呢?
  12. python基础语法25_Python基础语法习题参考(0-9关)
  13. 典型相关分析 python_CCA典型关联分析原理与Python案例
  14. mysql闪电_闪电算法是什么?如何应对闪电算法?
  15. 【Python大作业】耦合网络信息传播
  16. 你上面写的代码用什么编程软件?
  17. 破甲两千六 Spring Cloud 教程(三):添加Spring Cloud 的 Netflix Eureka 插件,实现服务端、客户端的发现与注册
  18. 面试指南(三):想跳槽,这些问题你会了吗?
  19. 培训网站比较-CSDN-51CTO-慕课网
  20. 拯救非洲的粮食危机,机器学习做了这些!

热门文章

  1. 如何在Docker中安装MySQL
  2. 使用Java 自身Timer API实现定时器的方法
  3. html 中电话号码的使用
  4. C# winform界面上传附件到服务器(springboot)
  5. 教你一行代码解决 Git报错 fatal refusing to merge unrelated histories
  6. js实现类似微博根据发布时间,给信息加上“刚刚”“一分钟前”“一小时前”
  7. C#正则提取字符串中的数字
  8. Kafka配置6--Windows下设置和增加SASL用户或用户权限
  9. 微服务学习之Ribbon【Hoxton.SR1版】
  10. java query dsl_java – QueryDsl – 具有字符串值的case表达式