论DATASNAP结合FIREDAC的使用方法】的更多相关文章

论DATASNAP结合FIREDAC的使用方法 自DELPHI XE5开始引入FIREDAC数据引擎以来,FIREDAC就正式成为了官方的数据引擎.一直到XE10.1 UPDATE1,据笔者观察,FIREDAC都是新版本开发当中的重中之重,其在DELPHI的地位自然是不言而喻. DATASNAP结合FIREDAC,中间件远程方法支持的数据序列格式可谓是丰富多彩.已经不仅仅是只支持OLEVARIANT格式序列.下面且听本人一一道来. 1)OLEVARIANT仍然得到继续支持,这使得成千上万的老程序…
调用DATASNAP+FIREDAC的远程方法有时会执行二次SQL或存储过程的BUG 1)查询会重复执行的情形:Result := DATASETPROVIDER.Data会触发它关联的DATASET执行一次查询fdquery.Close;fdquery.sql.Clear;fdquery.sql.Text := sql;// d.qryOpen.Open; // 此行代码必须被注释掉,否则SQL会被二次执行Result := DATASETPROVIDER.Data; // 此行又会触发一次f…
相交资料: http://blog.csdn.net/shuaihj/article/details/6129131http://www.cnblogs.com/hnxxcxg/p/4007876.htmlhttp://www.cnblogs.com/hnxxcxg/p/4008789.html PS: Unit2不再上传,因为这个是自动生成的(相关资中也提到了自动生成的方法,我在这里就不再多说了). 服务端实例: unit ServerMethodsUnit1; interface uses…
一般http访问的地址是 http://localhost:8099/datasnap/rest/TServerMethods1/EchoString/abc 一.用FDConnection1连接Datasnap服务器 FireDAC  连接Datasnap服务端.这个是tcp协议连接通讯,长连接.服务端不是没个方法都建立实例释放实例,而是连接的时候建立,中间调用多少个方法都不释放实例,连接断开才释放. 不是.net的web api或者Datasnap 的 webmodule,纯粹是tcp. D…
当我们搞定DataSnap后,我们进入客户端程序开发阶段了,我们建立了客户端模块后,打算按照刚才开发服务器的步骤开发客户端程序,随后加入了DBExpress的TSQLDataSet,设定数据库连接后,准备在TSQLDataSet的“CommandText”属性里面写入要执行的SQL语句,双击这个属性马上出错了: 当我们点击“OK”按钮之后,出现这样的界面,里面没有任何数据库表相关信息: 问题原因:我们开发方式不正确,如果想在客户端用DBExpress连接服务器,那么我们可不能按照服务器开发步骤进…
当我们成功创建了使用DBExpress的DataSnap的服务器和客户端程序后,我们关闭了当前工程,当我们再次打开时候,有可能会出现这样的问题: 问题原因:这个问题是因为当前工程组默认启动的是客户端工程,客户端程序在启动时候,进行可视化设计,需要连接服务器,但是我们的服务器并没有启动! 解决方法: 1,忽略当前错误,进入工程,把默认工程调整为服务器端的工程.我建议这样做,这样我们可以随意启动或停止任意一个工程. 2,首先启动服务器程序,等服务器程序启动完毕后,再打开工程.…
当我们在客户端用TClientDataSet的“ProviderName”属性连接服务器时,无法找到服务器端的“DatasetProvier”!! 问题原因:服务器端对提供服务的控件所属单元选择错误.所有对客户端提供服务器的方法.控件等等,必须全部放到“ServerMethodsUnit1”里面,否则无法对客户端提供服务. 解决方法:把这些提供服务的控件放到“ServerMethodsUnit1”里面,正常配置之后就可以了. 我们先看一下错误配置截图: 下面才是正确的配置: 1,数据库控件在“S…
1. 开发环境说明:win 10 下安装了XE10.2和Delphi7 2.按照网上datasnap 三层与使用xe10 自带的samples 的例子,访问数据库都要报莫名的地址错误,这个太不人性化: Access violation at address 0088C4F7 in module 'DataSnapClient.exe'. Read of address 00000000 折腾了一星期多.怀疑过win10权限,怀疑过所有的dbexpress和FireDac驱动问题,因为我win10…
采用服务器返回数据,一种是返回字符串数据例如JSON,跨平台跨语言,任何语言调用都支持兼容,类似WEBService. 第二种是紧密结合c++builder语言,传输DataSet,可以是ClientDataSet,也可以是FDMemTable,或TDataSet,这类好处是DataSet本身包含了很多属性,记录集的状态Insert/Modify/Delete,在服务端可以调用 不同的方法进行数据处理,客户端也只需要把dataset对象赋值就展示到dbgrid里了. 序列化. FDMemTabl…
[FireDAC][Phys][ODBC][Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt 同样的程序,在2台win10 正常,1台win10 报连接占线! SQL Native Client  安装客户端 TFDStoredProc FetchOptions.Mode fmOnDemand fmAll 2018.10.9 fixed 方法是 页面的create事件里,所有的FDQuery,FDTable的FetchOptions->Mode…