Foxtable(狐表)用户栏目专家坐堂 → BeforeConnectOuterDataSource SQL连接问题


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

主题:BeforeConnectOuterDataSource SQL连接问题

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2019/2/11 17:08:00 [显示全部帖子]

Dim cn As String = "Provider=SQLOLEDB.1;Password={0};Persist Security Info=True;User ID={1};Initial Catalog=bydata;Data Source={2}"
Dim sql As String = FileSys.ReadAllText(ProjectPath & "Attachments\SqlServers.sipcg")
Dim sarr() As String = sql.Replace(vbcr,"").Split(vblf)
Dim sdt As Date = Date.Now
Dim Sum As Integer
Forms("启动连接").Open()
Dim sqlqtu As WinForm.Label = Forms("启动连接").Controls("Label2")
sqlqtu.text = "正在连接数据源,请稍后....  "
Application.DoEvents
For i As Integer = 0 To 1
    Dim tsq1 As String
    Dim tsq2 As String
    Dim tsq3 As String
    Dim jzf1 As String = sarr(i*3).SubString(9)
    Dim jzf3 As String = sarr(i*3+1).SubString(8)
    Dim jzf5 As String = sarr(i*3+2).SubString(12)
    tsq1 = jzf1.Trim()
    tsq2 = jzf3.Trim()
    tsq3 = jzf5.Trim()
    Dim Val1 As String = DecryptText(tsq1,"slp","shby")
    Dim Val3 As String = DecryptText(tsq2,"slp","shby")
    Dim Val5 As String = DecryptText(tsq3,"slp","shby")
    Dim exp As String = CExp(cn,Val1,Val3,Val5)
    Dim ErrMsg As String
    Dim sqlqd As WinForm.Label = Forms("启动连接").Controls("Label1")
    sqlqd.text = "正在连接数据源:  " & Val5   '追加数据代码
    Application.DoEvents
    If Connections.TryConnect(exp,ErrMsg) = True Then
        For iy As Integer = 1 To 1
            Connections.Add("生产数据",exp)
            sqlqd.text = Val5 & " 数据源加载成功!准备用户登入!"
            Application.DoEvents
            While Date.Now < sdt.AddSeconds(2)
            End While
            Forms("启动连接").Close()
        Next
        Forms("用户登录").Open()
        If _UserName = "" Then
            Syscmd.Project.Exit()
            Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
        End If
        Exit For
    Else
        Sum = Sum + i
        If sum = 0 Then
            sqlqd.text = Val5 & " 数据源未加载成功!准备使用备用地址加载数据源!"
            Application.DoEvents
            While Date.Now < sdt.AddSeconds(1)
            End While
        End If
        If Sum = 1 Then
            sqlqd.text = Val5 & " 数据源未加载成功!准备使用备用地址加载数据源!"
            Application.DoEvents
            While Date.Now < sdt.AddSeconds(1)
            End While
            Forms("启动连接").Close()
            Forms("SQL提示").Open()
            Dim sqlts As  WinForm.Label = Forms("SQL提示").Controls("Label1")
            sqlts.text = Val5 & " 数据源无法连通!是否需要数据库连接设置?"& (vbcrlf)& ErrMsg '追加数据代码
            Application.DoEvents
            Return
        End If
    End If
Next

这个代码可以直接设置数据源,就是 Dim sqlqtu As WinForm.Label = Forms("启动连接").Controls("Label2") 显示字符会卡顿速度太快,但是Forms("启动连接")窗口里的GIF动图会卡顿,这是为什么?


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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2019/2/13 13:41:00 [显示全部帖子]

在AfterClose里的代码
Dim Result As DialogResult
Result = MessageBox.Show("系统需要退出,请重新进入系统!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
If Result = DialogResult.OK Then
    Syscmd.Project.Exit(True)
    Return
End If
不知道为什么会报错
“未将对象引用设置到对象的实例”


.NET Framework 版本:2.0.50727.9035
Foxtable 版本:2018.10.9.1
错误所在事件:窗口,网络设置窗口,AfterClose
详细错误信息:
未将对象引用设置到对象的实例。
[此贴子已经被作者于2019/2/13 14:20:30编辑过]

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2019/2/13 17:23:00 [显示全部帖子]

这个项目总体有个问题,在我登入项目前就进入,FOXTABL 了?

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2019/2/13 19:02:00 [显示全部帖子]

项目属性里按确定,可用隐藏,可是真正开启项目就不行了,这是怎么回事?

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2019/2/13 21:10:00 [显示全部帖子]

搞好了,要加在内部代码里

 回到顶部