以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  BeforeConnectOuterDataSource SQL连接问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130839)

--  作者:hongye
--  发布时间:2019/2/3 21:20:00
--  BeforeConnectOuterDataSource SQL连接问题
Dim cn As String = "Provider=SQLOLEDB.1;Password={0};Persist Security Info=True;User ID={1};Initial Catalog=bydata;Data Source={2}"
Dim s As String = FileSys.ReadAllText(ProjectPath & "Attachments\\SqlServers.txt")
Dim arr() As String = s.Replace(vbcr,"").Split(vblf)
For i As Integer = 0 To 1
    Dim exp As String = CExp(cn,arr(i*3).Split("=")(1),arr(i*3+1).Split("=")(1),arr(i*3+2).Split("=")(1))
    If Connections.TryConnect(exp) = True Then
        For iy As Integer = 1 To 1
            Connections.Add("生产数据",exp)
            MessageBox.Show("生产数据数据源加载成功!")
        Next
    Else
        MessageBox.Show("生产数据数据源无法连通!")
    End If
Next

SqlServers.txt里的内容
Password=654321
User ID=byuser
Data Source=192.168.0.17
Password=654321
User ID=byuser
Data Source=*****.oicp.net

帮我看看感觉哪里错了,好像连不上

BeforeConnectOuterDataSource



--  作者:hongye
--  发布时间:2019/2/3 23:08:00
--  
还有一个问题,文本解密怎么不行?
Dim s As String = FileSys.ReadAllText("N:\\用户管理\\Table.Txt")
MessageBox.Show("读取后:" & s)
Dim Val1 As String = s
MessageBox.Show("解密前:" & val1)
Dim Val2 As String = DecryptText(Val1,"slp","shby")
MessageBox.Show("解密后:" & val2)
Dim ts As WinForm.TextBox = e.Form.Controls("TextBox2")
   ts.Value = Val2

--  作者:有点甜
--  发布时间:2019/2/10 13:31:00
--  

1、不是这样做的

 

Connections.Add("生产数据",exp)

 

要直接设置数据源,如

 

e.ConnectionString = exp

 

2、我这样测试没问题

 

Dim s As String = EncryptText("测试123", "slp", "shby")
MessageBox.Show("读取后:" & s)
Dim Val1 As String = s
MessageBox.Show("解密前:" & val1)
Dim Val2 As String = DecryptText(Val1,"slp","shby")
MessageBox.Show("解密后:" & val2)

 


--  作者:hongyefor
--  发布时间: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动图会卡顿,这是为什么?


--  作者:有点甜
--  发布时间:2019/2/11 19:44:00
--  
参考


--  作者:hongye
--  发布时间:2019/2/11 22:18:00
--  
这个代码不会写,能不能帮我写一下呢?
--  作者:有点蓝
--  发布时间:2019/2/11 22:29:00
--  
请上传具体实例说明
--  作者:hongye
--  发布时间:2019/2/11 23:02:00
--  

win10怎么上传啊

 


--  作者:hongye
--  发布时间:2019/2/11 23:25:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:用户管理.foxdb


--  作者:hongye
--  发布时间:2019/2/11 23:34:00
--  
还有一个问题就是显示图片就是员工编辑里有3个图片框,不知道为什么打开只能显示2个图片框的图片,第3个图片框不显示