请教老师
项目A,项目B均使用同一个数据库,按照帮助拆分项目的代码,在项目A的AfterOpenProject写入了如下代码,在项目A设置了一个按钮也同样写入帮助中的代码
但是,出现几个问题
1. 通过项目A的自定义登录窗口,打开项目A后,点击按钮,能打开项目B,但是项目A就不见了
2. 关闭项目B后,虽然,在项目B的主窗口(窗口模式为独立)的AfterClose
设置了system.diagnostics.process.GetProcessesByName("foxtable")(0).kill 但是关闭项目B后,依然出现MainTable的全部表
如果单独打开项目B,再关闭项目B的主窗口,后面的MainTable就正常不显示,一起退出项目了。
3. 虽然在项目A的按钮中设置了参照下面设置的人名和登录密码,但是不起作用,自定义登录的任何人也能点击按钮打开项目B
Dim fl As String = "D:\foxtable\高级开发版\项目A.foxdb"
Syscmd.Project.Open(fl,"小马","777")
If OpenFileargs.Count = 2
Then
'如果传递了两个参数
Dim
UserName
As
String = openFileargs(0) '获得第一个参数,也就是用户名
Dim
cmd
As
New
SQLCommand
Dim
dt
As
DataTable
Dim
dr
As
DataRow
cmd.C onnectionName = "User"
If
_UserName = ""
Then
Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Return
End
If
cmd.CommandText = "Select * F rom {Users} Where [Name] = '"
&
_UserName
&
"'"
dt = cmd.ExecuteReader
dr = dt.DataRows(0)
If
dr("Password") = OpenFileArgs(1) Then
'如果密码等于第二个参数
_UserName = OpenFileargs(0)
_UserGroup = dr("Group")
Return
'直接返回,不出现登录窗口
End
If
End
If
Forms("用户登录").Open()
If _UserName = "" Then
Syscmd.Project.Exit()
Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
End If
'后续初始化代码
If User.Type <> UserTypeEnum.Developer
TableCaptionVisible = False
End If
Forms("主窗口").Open()