delphi xe datasnap client sqlconnection 动态连接

lao_yunger 2019-03-21 09:25:25
在学习或在开发DATASNAP/REST三层应用中,发现网上的教程,都是用向导完成框架。
这有一个比较致命的问题。用户的服务器和客户机只能用我们开发时指定的名称。比方说,我们设计时DATASNAP SERVER所在的主机名为WIN7SERVER ,用向导生成DATASNAP CLIENT时,需要输入WIN7SERVER这个名称进去。软件开发完成后,这个WIN7SERVER这个名称就被带到用户那里。但是用户的服务器主机不可能也不必要一定要用这个WIN7SERVER这个名字。用户会根据自己的喜好和实际情况输入datasnap SERVER 主机名 。
下图是DATASNAP SERVE端的:





服务端可以把SQLCONNECTION参数保存在FDConnectionDefs.ini文件里,启动服务端时读入就行。
也可如下代码

IniFile:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'\CONFIG.CFG');
if R_SQLServer.Checked then
begin
IniFile.WriteString('SQLSERVER','IP',E_IP.Text);
IniFile.WriteString('SQLSERVER','PORT',E_PORT.Text);
IniFile.WriteString('SQLSERVER','USER',E_USER.Text);
。。。。。。。。
IniFile.WriteString('SQLSERVER','PASS',E_PASS.Text);
IniFile.WriteString('SQLSERVER','DB',E_DB.Text);

IniFile.WriteString('CONFIG','DBTYPE','0')
end
在启动时读取INI文件,赋值给SQLCONNECTION就行。

下图是
datasnap client:


其中HostName是开发人员设计输入的,我想问的是,如何让用户首次使用软件时,自己输入?
即我想让用户自己输入并保存到文件里,下次启动时从该文件里读取参数,并连接到DATASNAP SERVER 。
...全文
476 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nongen 2019-04-17
  • 打赏
  • 举报
回复
sqlconnection的action设为false ,然后在打开软件的时候弄个登录框,让输入服务器地址,把输入的服务器设置到con里,然后action=true.。就连接了
lyhoo163 2019-03-29
  • 打赏
  • 举报
回复
这个服务器的名称是必需的,用它来别远程服务器下的服务摸块。
lao_yunger 2019-03-24
  • 打赏
  • 举报
回复
多谢。前天自己搞定了。
看那山瞧那水 2019-03-24
  • 打赏
  • 举报
回复
hostname和port当然可以设置啊,哪里不能设置了? 客户端的sqlconnection的hostname和port怎么可能设计时就绑死了?那在自己电脑开发的软件怎么给客户用?

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧