文件名称:
Delphi XE7开发入门教程之DataSnap三层架构篇-第一部分预览.pdf
开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2019-07-14
详细说明:Delphi XE7开发入门教程之DataSnap三层架构篇-第一部分预览.pdf右键点击 My SQLConnection,然后Mody
… MysQLConnertinn
由⑥bc
OL Window
ade
Close
Refresh
Modi
Rename
Delete
Proiect Manager Model
假定我们的测试数据库为 delphi test:
Modify Connection: MySQLConnection (MySQL)
HostName
locAlhost
Database
Use- Name
root
Password
V Hde Password
Advanced
Test Connecion
OK
填写好参数之后点击 Test Connection看看一切是否正常:
RAD Studio XE7
Test connection succeed
OK
(5)如果要配置其它类型的数据库驱动,过程是类似的,比如采取 Firedog的话则应该展开 Data Exp|orer下
的 FireDac,然后选择数据库服务器类型,配置和 DBEXpress并无本质差异:
Data Explorer
日 TA Firer
+).0 Advantage Database Serve
中0 Sybase5 QL Anywhere
世⑥ DataSnap Server
⑦ Firebird
t的 InterBase
出0 InterBase lite
Inform翼
中的〕 ODBC Data source
的 rade server
中⑥ PostgreSQL
SOLite databas
Expr ess Ddld SuuILe
nataSnanserverProjert proj
Model /ifw na a FxpInrer
3 Fire DAC Connection Editor-[Delphi_Test
Select driver or select connection defnition name t override, then set p parameters
DefrltionOpticns Into SQL Script
Driver ic
MYSQL
Cornection defirition name
Test
Wiard
Revert To defaults
Parameter
Value
Defaut
DrlverIJ
AyseL
Falsc
Database
est
root
字宰容密率
MonitorY
Server
False
LcginTimeout
ReadTimeout
WriteTmesut
Resultmoce
store
Store
三、多设备客户端开发
Data Snap VCL Form Server Application,也就是窗体式中间层服务程序
Define a DataSet on the DataSnap Server
1.创建一个新的Deph项目,Fe>New> Other并选择 Data Snap Server分支下的 DataSnap Server项目类型
o For Delphi: Delphi Projects> DataSnap Server Data Snap Server
New ltem
DelphiOS Nativ= Compcp
elphi Projects
□ ALlve
MEST
□ Delphi Fies
Catasn32 DataSnap Data Snap
REGT A
□Mu- Device Pre。ject
a Wehi"oker
a Webie"vices
Design P-ojscts
ther hles
hilLel
□ Web docment
DataSnap server Wizard provides an easy way to inplement a server application using the
Snap technology.
2. New Data Snap Server向导出现
Ncw DataSnap scrvcr
Project type
pecify the type of this application
A Forms application displays a form
O Forms Application
○ Console Application
ALeUT
O Service Application
110003300
1 of 5
<< Back Next>>Finish
Cancel
Help
New Data Snap Server
Application Type
Select the type of application to be created
pecify the type of application that will be created
O VCL application
OLDEST
O FireMonkey application
2 of5
t Back
Next≥
Finish
Cancel
Help
New Data Snap Server
server Features
Check the fcatures to add to the DataSnap server
Select a feature for more information
日
Protocol
v TCP/IP
HITF
□ Authentication
□ Authorization
G-v Ser ver Melhus Class
√ Sample methods
合□ Filter
Compression
javascript Files
□ Mobile connectors
口 Select/ deselect all
3 of 5
<< Back
Next>≥
Finish
Cancel
Help
New Data Snap Server
Port Numbers
Specify the ports that will be used by the data Snap server to listen for dient requests, Us
the test button to make sure the port number is not already in use on this computer
Click a feld for more information
TCP IP Port:
Tcst ort
Find Open port
40f5
<< Back
Next >>
Finish
Cancel
New DataSnap Server
Server methods ancestor class
Select an ancestor type for the scrvcr mcthods dass
The TDsserverModule ancestor type provides a design surface and also implements the
AppServer interface
○ COmponent
OTDataModule
OTDEServerModule
1LDD自
55
<< Back
Next >
Finish
Cancel
Help
选择 Forms Application作为项目类型,接下米是 VCL Application作为程序类型,第三步选择网络协议,我
们这里采用默认的TCP211端口。最后一步则为服务方法选择 TDSServer Module作为继承类型。
3.点击 Save a按钮保存项日所有文件,将默认产生的Unit1单元保存为 DataSnapServerUnit
4.将默认产生的服务方法单元 Server MethodsUnit1保存为 ServerModuleUnit
5.将默认产生的服务容器单元 Server containerUnit1休存为 ServerContainerUnit
6.将默认产生的项目文作 Project1保存为 DataSnapserver Project
7.切换至 Data SnapserverUnit单元,将Form的Name属性改为 DSServer Form
8.在 Proiect Manager这里选择 ProjectGroup1将其保存为 DataSnap TutorialProject Group grouppro
DatasnapserverProject.proj -Project Manager
MProjectGroul
圉Daa5n
Add New Project.r
4+ Build
Add Existing Project
田 Targ Save Project Grcup
自]Data
Save Project Grcup Asm
中自] Serve
Rename
+lE] Serve
Add to version Control
Define a dataSet on the data Snap Server
1.切换至 ServerContainerUnit单元的代码窗口,在 implementation处更正代码为
uses Winapi. Windows Server ModuleUnit
2.切换至 Server Moduleunit单元的设计窗口,将 Server module的Name属性改为 DSServerModule_ My Test
3.为 Server module添加以下控件并做好相应设置:
o放置一个 TSQLConnection控件并设置属性如下
将Name设置为 SQLConnection_ MyTest
将 Login Prompt没置为 False
将 Connection name*设置为 MySQLConnection
注意:请确保 MySQL Server在此之前已经运行正常。
将 Connected设置为True
ructure
旱的 DataSrapWin ServiceProject] Data SnapServerUnt E ]ServerContainerUni25 erverMoc
E-B DSServerModule_ MyTest
E-t MysQL (SQLConnection_ My Test
日Q∈{ SQLData Set My Test!
w Data Setrovider_Mylest
sa Fields
sCLConnactcn Myles
dams
SQLDstaset_ MyTest
Object Inspector
Da aSe Provider MyTest
sQLConnection MyTest TsQLConnection
PrspertiesEvents
》 Connected
Connect onNameMysQLConnection
+ Drivcr
MySQL
Keep Corned.icn
Tr
FI veR nd ngs D=signE I iv=< esigner
LoadParams Or Conn False
LaginPrcmpt
OLCUI
o放置一个Tsα dATaset控件并设置属性如下:
将Name设置为 SQLDataSet_ MyTest
将 SQLConnection设置为 SQLConnection_ My Test
将 CommandType设置为 quEry
将 Command Text设置为一句SQL指令,例如:
select User Name from userlistwithemail where Enabled=1 order by UserID
将 Active设置为True
Object Inspector
早8
SQLDataset_My Test TSQLDataSet
Properties events
Active
√True
Commandtext
select username from use
and lpr
Datasource
Dbx Command Type Dbx. SQL
Getmetadata
True
#Live Bindings Design Live Bindings Designer
Maxblobs
》Name
SQLDataSet_My l est
NumericMapping FAlse
y□Fase
放置一个 DAtaset Provider控件并设置属性如下
将Name设置为 DataSetProvider_ MyTest
将 Dataset设置为 SQLData Set MyTest
LEd Welcome Page E] Data SnapServerUnit Ei ServerModuleUnit
DBX
≡
SoLConnection MyTest
SQLDataSet_ MyTest.. DataSetProvider_MyTest
Expose the Data Set from the Data Snap Server
我们已经创建了一个新的 Server module包含」一个 Dataset和一个 Data SetProvider。接下来我们将这个 Server
Module提供给 DataSnap客户端。
打开 ServerContainerUnit单元的窗体设计器,选中 DSServerclass
2.更新其 OnGetclass事件的代码如下:
procedure TServer Container1 DSServer Class1 Getclass(DSServerClass: TDSServerclass;
var
Persistentclass: TPersistentclass
g
Persistentclass: -TDSServer Module myTest
end
Run the Data Snap Server
现在试着运行一卜你的程序吧,注意 Windows给出的防火墙警告,请允许程序访问网络即可
File
A Data SnapTutorialProjectGroup
ElDataSnapServerDrniart
由 Build Confi Mak
田多 Target Plat
Build
DataSnap5
Clean
中回Daa5 naps From Here
田 Data SnapTr
ServerCont
Run
Run without Debugging
OK,服务正常跑起来了,不过看起来它只是一个空空的窗体似乎啥也没有。其实中间层服务它已经完成了
a DSServerForm
可是这样的中间层服务器只能静态的将SαL语句产生的数据结果提供给客户端,完仝不具备灵活性。让我们进入重
点吧,修正一下 Server Moduleunit单元的代码:
1.找到以下定义
TServerMethods1 class (TDsServerModule)
private
Px⊥ vate dec1 aratIonS}
public
f PubiIc declarations
function Echostring (value: string): string
function Reversestring wvalue: string): string;
end
1mp⊥ ementat1。n
把两个没有用的 function删除,添加一个新的 function如下
pablic
1 PublIc declarations
function ChangesqLstring (value: string): Integer;
end-
plementation
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.