delphi xe2学习笔记(2)
来源:互联网 发布:网络主播用英语怎么说 编辑:程序博客网 时间:2024/05/18 13:25
又中断了,杯具的代码维护.
继续白皮书。
这下先专注提供数据库服务的DataSnap。按照白皮书的例子做好的服务端,然后接着做客户端,按照白皮书的顺序,先做只读的客户端,
TDataSource->TClientDataSet->TDataSetProvider->TSQLServerMethod->TSQLConnection,
这种连接方式中,TClientDataSet只要"ProviderName"中选择TDataSetProvider,"RemoteServer"不要设置(也不能设置,这个是以前版本用的) ;TSQLServerMethod中的"ServerMethodName"选择你要的服务方法(一般是自己在服务端定义的输出数据集,这里补充下,白皮书中的例子是自定义个服务器方法,然后再自动产生客户端代理方法输出。但是用了TSQLServerMethod组件后,客户端就不要代理方法输出了,这才合理,一般项目IDE中自动产生的都产生好了,要改的话,也不可能是把客户端代理方法输出单元删了再产生,只要用TSQLServerMethod组件就可以输出服务端原来的方法或后来新增的方法) 。启动 服务端,在设计时设置TClientDataSet的Connected连接为True ,错误出来了 "failure to connnect: Unable to load dbxmss.dll(ErrorCode 126). It may be missing in system path"。"dbxmss.dll"是TSQLConnection的"LibraryName"的值,这是找不到在什么地方了。电脑中搜索,果然system32中没有这个文件,倒是安装目录下的bin和bin64下有这个文件,2个目录下的文件名一样,只是大小不一样,看环境变量中的系统路径Path中也包含了这个目录,怎么还找不到呢?不纠结了,把这个"dbxmss.dll"拷到system32下,果然就行了。
下一步,再弄个能更新的客户端。按照白皮书说的,去了TDataSetProvider和TSQLServerMethod这2个组件,拖一个TDSProviderConnection出来,变成这样
TDataSource->TClientDataSet->TDSProviderConnection->TSQLConnection,这种连接中,TClientDataSet的"RemoteServer"和"ProviderName"都得用上了(嗯,有点混了,是的,混了,先不管,就先知其然不知其所以然吧),"RemoteServer"选择为刚才刚拖出来的TDSProviderConnection组件(嗯,"RemoteServer"名不符实了,要么放空,要么指向本地的,呵呵),"ProviderName"要手工输入了,输入什么呢?输入服务器的方法类,是类不是对象哟,一种TDSServerModule类,比如"TServerMethods1",也就是输出服务端方法的类。设置TClientDataSet的Connected连接为True,连上了。
后面准备是操作具体的数据,以及使用那个错误提示对话框。不过,想想还是先摸摸这些个组件及各种连接的内涵,搞不明白总觉得的堵的很。
- delphi xe2学习笔记(2)
- delphi xe2学习笔记(1)
- Delphi XE2
- Delphi XE2 之 FireMonkey 入门(2)
- Delphi XE2 发布了
- DELPHI XE2马上推出
- Delphi XE2 Update4
- Delphi XE2 新技术说明
- Delphi XE2 - 点点滴滴设置
- Delphi Xe2下 PingIP
- Delphi XE2 的皮肤
- delphi xe2的LibraryPath
- delphi xe2下载地址
- Delphi XE2(RAD Studio XE2/Delphi16)Beta 试用体验(2)
- Delphi XE2 C++builder XE2 正式版破解
- 使用DELPHI / C++BUILDER XE2 UPDATE 2 XX的风险
- Delphi XE2 新技术说明 (What's new in Delphi XE2)
- delphi xe2 listview viewstyle bug
- win7下的cmd窗口可以全屏显示吗
- 进程互斥锁
- C++中的vector简单使用范例
- sqlite并发写处理
- WCF系列: 创建一个WCF服务
- delphi xe2学习笔记(2)
- 为什么每当UIScrollView滑动的时候,cocos2d的所有动画都会停止?
- Flex中几种编码函数[escape,encodeURI,encodeURIComponent]的比较(学习笔记)
- 管道-pipe
- tcp 三次握手和四次挥手
- Bean:message标签
- The TLS of Bionic
- Oracle的NULL代表的含义是不确定,那么不确定的东西也会有确定的数据类型吗
- is-A和has-A的区别