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


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

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

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7677 威望: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


加好友 发短信
等级:三尾狐 帖子:739 积分:7677 威望: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


加好友 发短信
等级:三尾狐 帖子:739 积分:7677 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 17:59:00 [只看该作者]

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

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/16 18:11:00 [只看该作者]

你的那些都是OuterTableBuilder表吗?这句代码可以去掉 DataTables.UnLoad(n)

 

你给你的函数加入msgbox,看看,是哪一句代码开始出错的。


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


加好友 发短信
等级:三尾狐 帖子:739 积分:7677 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:24:00 [只看该作者]

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

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7677 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:29:00 [只看该作者]

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

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7677 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:30:00 [只看该作者]

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

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/16 18:33:00 [只看该作者]

 你外部数据库那里,有对应的表名吗?是数据库的表名。

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7677 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:37:00 [只看该作者]

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

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7677 威望:0 精华:0 注册:2015/3/3 14:34:00
  发帖心情 Post By:2017/1/16 18:45:00 [只看该作者]

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

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