Foxtable(狐表)用户栏目专家坐堂 → [求助]登录窗口测试连接成功后重启项目出错


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

主题:[求助]登录窗口测试连接成功后重启项目出错

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


加好友 发短信
等级:幼狐 帖子:137 积分:1175 威望:0 精华:0 注册:2020/9/28 9:41:00
[求助]登录窗口测试连接成功后重启项目出错  发帖心情 Post By:2023/9/12 11:51:00 [只看该作者]

Dim SQLServer As String
Dim Database As String
Dim Username As String
Dim Password As String
SQLServer = e.Form.Controls("TextBox5").Value ' 服务器地址
Database = e.Form.Controls("TextBox6").Value ' 数据库文件
Username = e.Form.Controls("TextBox7").Value ' SQL用户名
Password = e.Form.Controls("TextBox8").Value ' SQL密码

Dim ErrMsg As String
Dim Conn As String ="Provider=SQLOLEDB.1;Data Source=" & SQLServer & ";Initial Catalog=" & Database & ";User ID=" & Username & ";Password=" & Password & ";Persist Security Info=False;"
If Connections.TryConnect(Conn,ErrMsg) = False Then
    MessageBox.Show("数据源无法连通!原因:" & ErrMsg)
Else   
FileSys.WriteAllText(ProjectPath & "Attachments\ip.txt","Provider=SQLOLEDB.1;Data Source=" & SQLServer & ";Initial Catalog=" & Database & ";User ID=" & Username & ";Password=" & Password & ";Persist Security Info=False;", True)
FileSys.WriteAllText(ProjectPath & "Attachments\open.Txt","open",True)
MessageBox.Show("数据源连通!需要重启")
Syscmd.Project.Open(ProjectFile)
End If
提示:从索引 0 处开始,初始化字符串的格式不符合规范。

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/12 12:06:00 [只看该作者]

把所有项目事件代码,登录窗口所有代码都发上来

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


加好友 发短信
等级:幼狐 帖子:137 积分:1175 威望:0 精华:0 注册:2020/9/28 9:41:00
  发帖心情 Post By:2023/9/12 12:19:00 [只看该作者]

BeforeConnectOuterDataSource

Dim ipFile As String = e.ProjectPath & "Attachments\ip.txt"
Dim Open As String = e.ProjectPath & "Attachments\Open.txt"     '数据源连接设置窗口是否打开的配置文件
Dim  ip As  String = FileSys.ReadAllText(ipFile)

Dim close As String = e.ProjectPath & "\Attachments\Open.txt"
Dim OpenText As  String = FileSys.ReadAllText(close)

If OpenText = "close"   '判断修改数据源信息传递过来的参
Return
Else
If e.Name = "GJ" Then
    If Filesys.FileExists(ipFile) Then
        e.C     '已配置好的数据源连接字符串,
        FileSys.WriteAllText(e.ProjectPath & "Attachments\Open.txt","Close",False)
        'MessageBox.Show("数据源已连通!")
        Return
    End If
      End If    
     If Connections.TryConnect(ip) = False Then
      MessageBox.Show("请重新设置参数!")
      FileSys.WriteAllText(e.ProjectPath & "Attachments\Open.txt","Open",False)  '置数据源检测开关状态为Open.
     e.C& e.ProjectPath & "Attachments\UserInfo.mdb;Persist Security Info=False"
     Return
    End If
End  If

BeforeOpenProject

Dim s As String = FileSys.GetParentPath(e.File) & "\Attachments\ip.txt"
If FileSys.FileExists(s) = False Then
    e.Cancel = True
    e.HideSplashForm = True           '这个文件是空文件也行
    MessageBox.show("数据库连接文件" & "IP.txt" & "丢失,无法打开此项目!")
Return
End If

AfterOpenProject
Dim Open As String = ProjectPath & "\Attachments\Open.txt"
Dim OpenText As  String = FileSys.ReadAllText(Open)

If OpenText = "Open"   '判断修改数据源信息传递过来的参数,决定是否打开开设置窗口
    Forms("数据连接").open()
    Return
Else
    Forms("创建单位").open()
    Return                   '一定要写上,否则会报错!
End If

登录窗口 Button2 click
Dim SQLServer As String
Dim Database As String
Dim Username As String
Dim Password As String
SQLServer = e.Form.Controls("TextBox5").Value ' 服务器地址
Database = e.Form.Controls("TextBox6").Value ' 数据库文件
Username = e.Form.Controls("TextBox7").Value ' SQL用户名
Password = e.Form.Controls("TextBox8").Value ' SQL密码

Dim ErrMsg As String
Dim Conn As String ="Provider=SQLOLEDB.1;Data Source=" & SQLServer & ";Initial Catalog=" & Database & ";User ID=" & Username & ";Password=" & Password & ";Persist Security Info=False;"
If Connections.TryConnect(Conn,ErrMsg) = False Then
    MessageBox.Show("数据源无法连通!原因:" & ErrMsg)
Else   
FileSys.WriteAllText(ProjectPath & "Attachments\ip.txt","Provider=SQLOLEDB.1;Data Source=" & SQLServer & ";Initial Catalog=" & Database & ";User ID=" & Username & ";Password=" & Password & ";Persist Security Info=False;", True)
FileSys.WriteAllText(ProjectPath & "Attachments\open.Txt","open",True)
MessageBox.Show("数据源连通!需要重启")
Syscmd.Project.Open(ProjectFile)
End If


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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/12 13:38:00 [只看该作者]

去掉窗口按钮里的【Syscmd.Project.Open(ProjectFile)】改为放到AfterOpenProject

AfterOpenProject
Dim Open As String = ProjectPath & "\Attachments\Open.txt"
Dim OpenText As  String = FileSys.ReadAllText(Open)

If OpenText = "Open"   '判断修改数据源信息传递过来的参数,决定是否打开开设置窗口
    Forms("数据连接").open()
Syscmd.Project.Open(ProjectFile)
    Return
Else
    Forms("创建单位").open()
Syscmd.Project.Open(ProjectFile)
    Return                   '一定要写上,否则会报错!
End If

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


加好友 发短信
等级:幼狐 帖子:137 积分:1175 威望:0 精华:0 注册:2020/9/28 9:41:00
  发帖心情 Post By:2023/9/12 13:41:00 [只看该作者]

这样不是弹出两个窗口就重启了,参数都还没修改

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/12 13:47:00 [只看该作者]

这2个窗口改为模式窗口

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


加好友 发短信
等级:幼狐 帖子:137 积分:1175 威望:0 精华:0 注册:2020/9/28 9:41:00
  发帖心情 Post By:2023/9/12 13:52:00 [只看该作者]

又变成关闭窗口就重启

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


加好友 发短信
等级:幼狐 帖子:137 积分:1175 威望:0 精华:0 注册:2020/9/28 9:41:00
  发帖心情 Post By:2023/9/12 14:07:00 [只看该作者]

改成 Syscmd.Project.Exit()

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/12 14:08:00 [只看该作者]

什么样的情况下需要重启?什么情况不需要重启?自己加个全局变量判断一下,符合条件再重启

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


加好友 发短信
等级:幼狐 帖子:137 积分:1175 威望:0 精华:0 注册:2020/9/28 9:41:00
  发帖心情 Post By:2023/9/12 14:20:00 [只看该作者]

BeforeConnectOuterDataSource 需要重新获得IP.TEXT修改后和登录参数时要重启

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