此主题相关图片如下:001.jpg
此主题相关图片如下:002.jpg
由于家里的SQL服务器名称与单位电脑的不一样,每次把作业带回家继续开发时,都要进入项目管理里更改一次外部数据源链接参数.....
如何做到能动态更改直接保存?
假如二次开发成功,给客户装机后,每次版本更新都要记得不同客户的不同服务器名称,岂不是很麻烦?
而且万一服务器没开,客户打开客户端软件直接弹出图二窗口,客户直接就看到服务器密码,安全性得不到保障..
能否将这部分功能完善一下?
建议一:当前为开发者则弹出链接更改窗口,否则弹出"服务器未开启!"窗口..
建议二:开发者能自行设计链接更改保存窗口.
[此贴子已经被作者于2009-3-16 11:25:49编辑过]
扩展用户属性只是针对使用foxtable自身登陆系统情况下才有用吧?并且不可能要求客户使用软件时每次登陆都要选取或者输入吧?
另外我的系统是自定义登陆怎么办?
发一个子系统给您研究研究,采用自定义登陆,这种情况下该怎么做?
狐表自带登陆设置如下图:
此主题相关图片如下:001.jpg
有一个想法:在项目当前文件夹中存在一个*.TXT文件,内容为链接设置,打开项目时读取该文本文档内容作为链接设置....这样针对不同客户,只要第一次装机时设置好,以后版本更新时就不必担心每个客户不同的服务器名了...因为我的系统是由N个子系统组成...要是每个客户都设置一次那真是太麻烦了.
上述想法如何实现?
[此贴子已经被作者于2009-3-16 10:36:00编辑过]
以下是引用菜鸟foxtable在2009-3-16 9:48:00的发言:扩展用户属性只是针对使用foxtable自身登陆系统情况下才有用吧?并且不可能要求客户使用软件时每次登陆都要选取或者输入吧?
另外我的系统是自定义登陆怎么办?
有一个想法:在项目当前文件夹中存在一个*.TXT文件,内容为链接设置,打开项目时读取该文本文档内容作为链接设置....这样针对不同客户,只要第一次装机时设置好,以后版本更新时就不必担心每个客户不同的服务器名了...因为我的系统是由N个子系统组成...要是每个客户都设置一次那真是太麻烦了.
上述想法如何实现?
[此贴子已经被作者于2009-3-16 10:22:37编辑过]
如果你服务器名称(IP)经常不变化,可以把它保存在一个TXT文件中,每次登录时自动读取这个TXT文件,论坛上以前贺老师做过一个这样的例子(应该是精华贴),你可以搜索一下.
如果每次登录时服务器名称和IP都可能变化,就应该使用扩展用户属性,即使是自定义登录,也不妨碍,可以在自定义登录窗口出现之前先运行狐表的系统登录窗口,输入一下IP地址,然后再运行自定义的登录窗口即可.
以上两种方式都可以实现,你可以根据需要自行选择.
[此贴子已经被作者于2009-3-16 10:33:30编辑过]
局域网服务器IP当然是固定的.贺老师的精华贴名称关键字是什么?
....第一种方法是最好的. 不如您把第一种方法告诉我吧....
[此贴子已经被作者于2009-3-16 10:57:10编辑过]
请参与项目事件---
BeforeConnectOuterDataSource事件中有详细说明,下面是其中的一段话:
示例四
假定有一个名为“销售数据”远程数据源,默认的IP地址为119.119.120.120,因为服务器的调整,IP地址可能会发生变化,导致数据源无法连接。
为解决这个问题,可以在用户管理窗口增加一个名为IP的扩展用户属性,让用户在登录的时候,可以输入另一个IP地址,然后在BeforeConnectOuterDataSource事件中加入下面的代码:
If
e.Name = "销售数据" Then
Dim IP As String = e.User.ExtendedValues("IP") '获得用户输入的IP
If IP > "" '如果用户自己输入了IP
'则用用户输入的IP替换原来的IP
e.ConnectionString = e.ConnectionString.Replace("119.119.120.120", IP)
End If
End If
你也可以用另一种方法解决,在项目文件目录下创建一个ip.txt的文本文件,在该文件中输入最新的IP地址,并在BeforeConnectOuterDataSource事件中设置如下代码:
Dim ipFile As String = e.ProjectPath & "ip.txt"
If e.Name = "销售数据" Then
If Filesys.FileExists(ipFile) Then
Dim ip As String = FileSys.ReadAllText(ipFile)
e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip)
End If
End If