uses
FireDAC.Phys.MySQL,
FireDAC.Stan.Def,
FireDAC.DApt,
FireDAC.Comp.Client,
FireDAC.Comp.UI,
FireDAC.UI.Intf,
FireDAC.VCLUI.Wait, {FDGUIxWaitCursor.Provider := 'Forms'}
FireDAC.Stan.Intf,
// FireDAC.ConsoleUI.Wait, {FDGUIxWaitCursor.Provider := 'Console'}
// FireDAC.FMXUI.Wait, {FDGUIxWaitCursor.Provider := 'FMX'}
FireDAC.Stan.Async;

FDPhysMySQLDriverLink := TFDPhysMySQLDriverLink.Create(nil);
FDConn := TFDConnection.Create(nil);
FDGUIxWaitCursor := TFDGUIxWaitCursor.Create(nil);
FDQry := TFDQuery.Create(nil);

FDPhysMySQLDriverLink.VendorLib := ExtractFilePath(ParamStr(0))+'\libmariadb.dll';
FDGUIxWaitCursor.Provider := 'Forms';
FDConn.DriverName := 'MySQL';
FDConn.LoginPrompt := False;
FDConn.Params.Add('DriverID=MySQL');
FDConn.Params.Add('Server=' + vDBLink.Server);
FDConn.Params.Add('Database=' + vDBLink.Database);
FDConn.Params.Add('User_Name=' + vDBLink.UserName);
FDConn.Params.Add('Password=' + vDBLink.Password);
FDConn.Params.Add('Port=' + vDBLink.Port);
FDConn.Params.Add('CharacterSet=utf8');
FDConn.Connected := True;
FDQry.Connection := FDConn;

with FDQry do
begin
Close;
SQL.Clear;
SQL.Add(vSQL);
Active := True;
end;

======================================================================================================================

问题现象:XE8开发数据访问程序时放入了FDPhysMSSQLDriverLink1、FDConnection1、FDConnection1、FDQuery1、DBGrid1,设计期没法,运行期报"Object factory for class{xx-xx-xx-xx-xx} is missing. To register it, you can drop component[TFDGUIxWaitCursor] into your project."。

问题原因:群里朋友说是少个注册类。没有官方解释。有了解的朋友M我哦。

问题处理:在窗体上托放一个“TFDGUIxWaitCursor”控件就可以了;或者Uses相关单元,如下图所示:

FireDac心得的更多相关文章

  1. FIREDAC的心得

    FIREDAC与UNIDAC有些不同 但大体上是相同的 以下是一些随手笔记: FieldCount是当前FDQuery2所在行里面有多少列 一般用FieldList[X]来代表第几列 str:=FDQ ...

  2. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  3. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

  4. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  7. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  8. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  9. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. struts1标签库

    Struts提供了五个标签库,即:HTML.Bean.Logic.Template和Nested. HTML标签 : 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 ...

  2. 使用Microsoft Hadoop(一)

    To run this program, stage some data in HDFS: 1. create a text file called input.txt that has one in ...

  3. 【meet in middle】poj1840Eqs

    震惊!map的常数居然如此之大 Description Consider equations having the following form: a1x13+ a2x23+ a3x33+ a4x43 ...

  4. (47)zabbix报警媒介:Ez Texting

    Ez Texting是zabbix的技术合作伙伴,主要提供短信服务,用手机注册账号,便可以使用它来发送短信了,不过他只支持美国和加拿大的手机号码,并且应该是收费的.没有美国/加拿大手机号码的朋友请绕行 ...

  5. Linux-ngnix服务(二)

    Nginx介绍 特性: 模块化设计,较好的扩展性 高可靠性 支持热部署:不停机更新配置文件,升级版本,更换日志文件 低内存消耗:10000个keep-alive连接模式下的非活动连接,仅需2.5M内存 ...

  6. laravel中的scope作用域

    laravel中在模板中处理(属于不属于)的数据(增删改查),引入了scope来处理 也就是在模板定义方法中,加上前缀scope laravel中要求在定义的方法scope后面跟的字母要大写 后面那我 ...

  7. centos7.2安装redis与配置(史上最全)

    学习了php已经快三年了,一直是在盲目的忙,也没整理下笔记,今天整理一下 分享下安装redis的方法 #首先去redis官网去下载   http://www.redis.cn/download.htm ...

  8. html块级元素和行级元素的区别和使用

    行内.块状元素区别: 1.行内元素与块级函数可以相互转换,通过修改display属性值来切换块级元素和行内元素,行内元素display:inline,块级元素display:block. 2.行内元素 ...

  9. (转)UITextField

    //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, ...

  10. Android开发——Android的消息机制详解

    )子线程默认是没有Looper的,Handler创建前,必须手动创建,否则会报错.通过Looper.prepare()即可为当前线程创建一个Looper,并通过Looper.loop()来开启消息循环 ...