Foxtable(狐表)用户栏目专家坐堂 → 连接外部数据库时闪退


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

主题:连接外部数据库时闪退

美女呀,离线,留言给我吧!
漂亮美眉vszh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:869 积分:7854 威望:0 精华:0 注册:2013/5/30 11:27:00
连接外部数据库时闪退  发帖心情 Post By:2022/5/15 7:30:00 [显示全部帖子]

老师,连接内部数据库时正常
连接外部数据库时,就会偶发闪退
在打开软件连接数据库,加上弹窗时,查看代码运行到哪一句时,弹窗正常弹出,连接外部数据库正常
一但弹窗去掉,就会偶发闪退
可能是什么原因,怎么查找原因?

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:869 积分:7854 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2022/5/15 7:32:00 [显示全部帖子]

我发现不是偶发,是频发,只要毁到外部数据库,并且没加弹窗时,就会闪退

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:869 积分:7854 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2022/5/16 6:45:00 [显示全部帖子]

老师,我找到是哪一句话有问题了
Dim s As String = Date.Now & "  Step 1  开始运行 " & vbcrlf
FileSys.WriteAllText("d:\Errortable.txt", s, True)

If OpenFileArgs.Count = 0 Then
     ' MessageBox.show("正常情况没按F10,不触发")
s = Date.Now & "  Step 1  正常运行至连接数据库 "  & vbcrlf
                FileSys.WriteAllText("d:\Errortable.txt", s, True)

    If e.name = "database" Then
        Dim Val2 As String = FileSys.ReadAllText(e.ProjectPath & "zhsy.txt")
        Dim Val3 As String = DecryptText(Val2,"123456","123456") '解密,两个密钥必须和加密的时候相同
        Dim st_1 As String
s = Date.Now & "  Step 2  连接 "  & Val3 & vbcrlf
                FileSys.WriteAllText("d:\Errortable.txt", s, True)

我是将加密字符串放在一个记事本上,软件启动时,读取记事本上的信息来连接字符串
查错时加了一个记事本, 当走到STEP2 是空值,如果是内部数据库的密文,这个就有值;当是外部数据库时,就没有值。所以问题点出在这儿:
Dim Val2 As String = FileSys.ReadAllText(e.ProjectPath & "zhsy.txt")
        Dim Val3 As String = DecryptText(Val2,"123456","123456") '解密,两个密钥必须和加密的时候相同
这两句话上,弹出来的是空的,有将加密字符串在命令窗口执行,结果是正确的
在连接外部数据库时,就会偶发为空闪退

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:869 积分:7854 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2022/5/17 11:09:00 [显示全部帖子]

老师,加个判断是否为空,依旧会闪退
问题点出在  Dim Val2 As String = FileSys.ReadAllText(e.ProjectPath & "zhsy.txt")  这句话上
是这句话没有读到记事本里的密文
放在命令窗口执行时,将e.ProjectPath改成ProjectPath,能读到信息
我加数据库加个表加个列,能解决眼下问题,但没有解决根本问题

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:869 积分:7854 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2022/5/17 17:10:00 [显示全部帖子]

msgbox(e.ProjectPath & "zhsy.txt")
读取加密 D:\*******\zhsy.txt

msgbox(FileSys.FileExists(e.ProjectPath & "zhsy.txt"))
true

Dim Val2 As String = FileSys.ReadAllText(e.ProjectPath & "zhsy.txt")
msgbox(Val2)

弹出: tN86LfV5Xsq8HjswfaG4dEDT5De9yF7BsJ1l2ocDlXHFrLV6xXDaJKfTtbmQNOnZwRqRA1mVzDudb8g9sH2hOui7U8cFAhWz

Val3 = DecryptText(Val2,"123456","123456") '解密,两个密钥必须和加密的时候相同
那就是这句话有问题,弹出来是空的




 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:869 积分:7854 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2022/5/18 7:13:00 [显示全部帖子]

非常感谢老师的解答
1.第一种测试过,在命令口弹出来就是正确的,放在连接数据库事件里才出现这个问题
2.密钥肯定 一致,这个代码用了几年了,就这一次换了IP地址才失效,之前换IP地址也正常
  最后密钥建议8位,好的我尝试下

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:869 积分:7854 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2022/5/18 7:39:00 [显示全部帖子]

老师,我电脑 前几天有重装系统,重新装了FOXTABLE开发版 的软件,会不会是这个有影响 ?


 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:869 积分:7854 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2022/5/18 9:24:00 [显示全部帖子]

1.测试对比,发现弹出来的是一模一样的
2.没有把项目放入云盘使用

 回到顶部