Foxtable(狐表)用户栏目专家坐堂 → 在MessageBox对话框语句中调用函数时,有时会出错,但有时也不会,不知大家遇到过没有?


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

主题:在MessageBox对话框语句中调用函数时,有时会出错,但有时也不会,不知大家遇到过没有?

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
在MessageBox对话框语句中调用函数时,有时会出错,但有时也不会,不知大家遇到过没有?  发帖心情 Post By:2017/1/16 17:48:00 [显示全部帖子]

MessageBox对话框语句中调用函数时,有时会出错,但有时也不会,不知大家遇到过没有?我的一个项目中,如下代码:
Dim Result As DialogResult
        Result = MessageBox.Show("删除列后将无法恢复,是否删除列?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then         
            Functions.Execute("删除列")   
        End If
有时就出现“找不到datatable("当前表表名”)“的情况,查不出什么问题


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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 17:58:00 [显示全部帖子]

Functions.Execute("删除列") 删除窗口表中列,代码如下:
Dim tb As Table = CurrentTable
Dim n As String = tb.DataTable.name
Dim cl As Col = tb.cols(tb.ColSel)
Dim y As String = tb.DataTable.ConnectionName
If DataTables(n).dataCols.Contains(cl.Name)  Then
    '删除列
    Dim cmd As New SQLCommand
    cmd.ConnectionName = y
    Dim s As String
    s  = "alter Table  " & n & " drop column " & cl.Name
    cmd.CommandText = s
    cmd.ExecuteNonQuery()
    
    '重新加载表
    DataTables.UnLoad(n)
    Dim q As new OuterTableBuilder
    q.TableName = n
    q.TableCaption = n
    q.ConnectionName = y
    q.SelectString = "Select * Fro m {" & n & "}"
    q.Build    
    '绑定表
    If Tables.Contains(n) Then
        MainTable = Tables(n)
        Tables("导航_Table1").DataSource  = DataTables(n)
    End If
End If

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 17:59:00 [显示全部帖子]

初步判断是MessageBox对话框语句中调用函数的问题,不知道是不是?

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:24:00 [显示全部帖子]

 试了一下,偶尔这句过不了,
q.SelectString = "Select * Fro m {" & n & "}"
    q.Build
但大多数时候又可以

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:29:00 [显示全部帖子]

有问题时就出现这个
图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20170116182220.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:30:00 [显示全部帖子]

然后是这个
[此贴子已经被作者于2017/1/16 19:20:21编辑过]

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:37:00 [显示全部帖子]

access数据库在本机,“测试”是我要删除列的表名,大多数情况下可以,少数情况下报错

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:45:00 [显示全部帖子]

想上传的截图,不知怎么也上传不了

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 20:43:00 [显示全部帖子]

就一个数据源,currenttable对应的就是窗口表,没有影响吧

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


加好友 发短信
等级:三尾狐 帖子:743 积分:7798 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/17 10:10:00 [显示全部帖子]

找到原因了,由于是窗口表是动态绑定的外部表,由于重新加载外部表时,在外部表尚未加载入系统中时,就与绑定表发生了冲突,在删除列前解除了绑定,增加了
  MainTable = Tables("表a")
        Tables("窗口1_Table1").DataSource  = DataTables("表a")
才解决问题,但窗口闪得厉害,不知还有其他解决的途径没有?把测试项目上传一下,请各位老师,完善一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试2.rar



[此贴子已经被作者于2017/1/17 10:11:26编辑过]

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