Foxtable(狐表)用户栏目专家坐堂 → 如何根据用户登陆窗口输入的IP等来连接数据源?


  共有7337人关注过本帖树形打印复制链接

主题:如何根据用户登陆窗口输入的IP等来连接数据源?

帅哥哟,离线,有人找我吗?
zpx_2012
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
如何根据用户登陆窗口输入的IP等来连接数据源?  发帖心情 Post By:2013/3/7 19:21:00 [只看该作者]

各位老师

 

在打开项目时首先打开用户登陆窗口,然后由用户自己输入服务器IP及数据库名称后再去连接数据源, 

 


此主题相关图片如下:360截图20130307190640301.jpg
按此在新窗口浏览图片

请问这种方式可以实现吗?Forms("用户登陆").open() 代码要放在哪个项目事件下?连接数据源的那行代码要怎么写?

 

这样对不对?

在项目事件BeforeConnectOuterDataSource用了如下的代码

If e.Name = "EI" Then
 

If e.Name = "EI" Then
Forms("用户登录").open

   e.CBACKGROUND-COLOR: #ffffff" face=Verdana>Initial Catalog=" & MyDatabase & ";Data Source=" & MyServer


End If

 

MyServer和Mydatabase这两个变量是在登陆窗口的确定按钮上设置代码得到的。

 

重新登陆后就卡死了,不知道问题出在哪,还有SQL的登陆用户名和密码要怎么样才能加入到链接字符串中去?

 

谢谢!

 

 

[此贴子已经被作者于2013-3-7 19:23:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zpx_2012
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/3/7 19:24:00 [只看该作者]

连接字符串怎么乱码了,如下:(为什么显示出来就只有部份或乱码掉啊,只好分成几行了。)

 

If e.Name = "EI" Then
Forms("用户登录").open

  e.ConnectionString =

"Provider=SQLOLEDB.1;Persist Security Info=false;

Initial Catalog=" & MyDatabase & ";Data Source=" & MyServer

End If

[此贴子已经被作者于2013-3-7 19:26:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/7 19:40:00 [只看该作者]

BeforeConnectOuterDataSource事件执行的时候,还不存在窗口的,所以此路不通。

用扩展用户属性解决,参考这里的示例二和示例三:

 

http://www.foxtable.com/help/topics/0682.htm

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
nblwar
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6800 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2013/3/7 19:53:00 [只看该作者]


BeforeConnectOuterDataSource事件执行的时候

  用 InputValue 函数输入IP


 回到顶部
帅哥哟,离线,有人找我吗?
hanxuntx
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2013/3/7 19:59:00 [只看该作者]

以下是引用狐狸爸爸在2013-3-7 19:40:00的发言:

BeforeConnectOuterDataSource事件执行的时候,还不存在窗口的,所以此路不通。

用扩展用户属性解决,参考这里的示例二和示例三:

 

http://www.foxtable.com/help/topics/0682.htm

 

 

用户扩展属性不支持自定义用户管理啊


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/7 20:07:00 [只看该作者]

如果自定义用户管理,数据源初始连接到本地无数据的空数据库。


在用户登录之后,直接用这个根据用户的输入合成连接字符串,创建数据源:
http://www.foxtable.com/help/topics/1944.htm


然后切换数据源:
http://www.foxtable.com/help/topics/1932.htm


 
然后加载数据,这是最灵活的方式
 


 回到顶部
帅哥哟,离线,有人找我吗?
zpx_2012
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/3/7 20:17:00 [只看该作者]

谢谢狐爸,但我用的是自定义的用户管理,而且是SQL外部数据源,可以远程使用的。登陆窗口不出会出现扩展属性啊。怎么办?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/7 20:24:00 [只看该作者]

用文本文件保存ip地址和数据库名,这个又不是每次都要修改的。

 回到顶部
帅哥哟,离线,有人找我吗?
zpx_2012
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/3/7 20:33:00 [只看该作者]

因为客户是内外网都用的,有时是供应商登陆(用域名),那不是每个客户端都要人为去设置一下IP? 因为不可能每次发布前都先得到客户的IP,所以要能实现直接在用户登陆窗口中输入最灵活了。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/7 20:36:00 [只看该作者]

修改文本文件一样简单,也不需要事先知道的,不管是窗口修改还是文本文件修改,都是客户自己修改。

实际上,这种情况,用文本文件更合适,很多软件都会有文本形式的配置文件,供用户自行修改。

 

一定要通过窗口修改,用6楼方法。

 


 回到顶部
总数 13 1 2 下一页