以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  BeforeConnectOuterDataSource事件问题?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=33924)

--  作者:magangzmc
--  发布时间:2013/5/27 12:21:00
--  BeforeConnectOuterDataSource事件问题?

BeforeConnectOuterDataSource

事件代码:

以下内容为程序代码:

1 If e.name = "DB" Then
2 Dim server As String=e.User.ExtendedValues("服务器")
3 Dim sa As String=e.User.ExtendedValues("SA密码")
4
5 e.C & server & ";Password=" & sa

6 End If

打开项目的时候会先报错,然后登录窗体才显示出来。


此主题相关图片如下:未命名1.jpg
按此在新窗口浏览图片


此主题相关图片如下:未命名1.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2013-5-27 12:24:38编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/5/27 12:24:00
--  

用这个分析一下,看看问题出现在哪一行代码:

 

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

 


--  作者:magangzmc
--  发布时间:2013/5/27 12:28:00
--  
错误就是e.User获取不到值,因为报错是在弹出登录框之前,所以e.User是Nothing
--  作者:狐狸爸爸
--  发布时间:2013/5/27 14:24:00
--  

收到,我检查一下,看看怎么回事。

 

[此贴子已经被作者于2013-5-27 14:25:46编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/5/27 14:29:00
--  
我知道怎么回事了。
你用来外部表存储用户信息,这样用户登录前,就必须先连接数据源,从数据源提取用户信息,然后显示登录窗口。
所以BeforeConnectOuterDataSource执行的时候,用户还没有登录,e.user为nothing.

--  作者:magangzmc
--  发布时间:2013/5/27 17:05:00
--  
哦,对,是这样的,可用户表不用外部表存储,如何实现多客户端的登录呀?因为我有一个设置服务器和SA密码的扩展属性,设置后才能确定数据库连接。
[此贴子已经被作者于2013-5-27 17:07:29编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/5/27 17:11:00
--  

只能不用这种方式, sa的密码不会经常改变的,如果要改变,重新设置一下数据源即可。

 

或者你分开两个数据源,一个连接到用户表,一个连接到数据库。


--  作者:lexianfeng
--  发布时间:2016/11/3 9:38:00
--  

那后来这个问题怎么解决的呢?


--  作者:有点蓝
--  发布时间:2016/11/3 9:49:00
--  
参考:http://www.foxtable.com/webhelp/scr/0682.htm
--  作者:有点青
--  发布时间:2016/11/3 10:03:00
--  
以下是引用lexianfeng在2016/11/3 9:38:00的发言:

那后来这个问题怎么解决的呢?

 

用txt存放对应的值吧。或者,可以自己做一个启动前的窗口。如

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:beforeopenproject创建窗口.table