Foxtable(狐表)用户栏目专家坐堂 → 大师请教临时表


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

主题:大师请教临时表

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
大师请教临时表  发帖心情 Post By:2017/4/22 10:22:00 [只看该作者]

大师:临时表生成器创建表,
1、要不要判断是否存在?为何不加判断就报错?
2、如果创建错误,想重新创建,如何删除?卸载后创建同样报错?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/22 10:36:00 [只看该作者]

怎么创建的临时表?代码看看

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/4/22 10:55:00 [只看该作者]

 if datatables.contains("listBqybdb") = false   then
Dim dtb As New DataTableBuilder("listBqybdb")
    dtb.AddDef("Bqybdb1", Gettype(String),150,"","项目")
    Dim kmjh As new List(of String)
    kmjh = dt.GetValues("zzzz5","zzzz5 is not null","_sortkey")
    Dim n1 As Integer = 1
    For Each v As String In kmjh
        n1 = n1 + 1
        dtb.AddDef("Bqybdb" & cstr(n1) ,Gettype(Double),"",v)
    Next
    dtb.Build()
else
datatables.unload("listBqybdb")
Dim dtb As New DataTableBuilder("listBqybdb")
    dtb.AddDef("Bqybdb1", Gettype(String),150,"","项目")
    Dim kmjh As new List(of String)
    kmjh = dt.GetValues("zzzz5","zzzz5 is not null","_sortkey")
    Dim n1 As Integer = 1
    For Each v As String In kmjh
        n1 = n1 + 1
        dtb.AddDef("Bqybdb" & cstr(n1) ,Gettype(Double),"",v)
    Next
    dtb.Build()
end  if


如果我加上红色部分判断代码,运行后就会报错?

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/4/22 11:12:00 [只看该作者]

这个意思,不同的数据源中有一个同名的表,切换数据源后,要重新创建同名但结构不一样的临时表,因为要调用很多指定同名表的通用函数,我想删除临时表后重新创建行不行?否知就要改动函数。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/22 11:58:00 [只看该作者]

DataTableBuilder这种用法不需要判断和卸载,直接生成就会覆盖之前的。

下面代码测试也没有问题
If DataTables.contains("listBqybdb") = False   Then
Dim dtb As New DataTableBuilder("listBqybdb")
    dtb.AddDef("Bqybdb1", Gettype(String),150,"","项目")
    dtb.Build()
Else
DataTables.unload("listBqybdb")
Dim dtb As New DataTableBuilder("listBqybdb")
    dtb.AddDef("Bqybdb122", Gettype(String),150,"","项目2")
    dtb.Build()
End  If

错误提示什么?
可能是循环里增加的列数超出范围了,理论最多250个列
[此贴子已经被作者于2017/4/22 14:20:41编辑过]

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/4/22 12:36:00 [只看该作者]

我通过DataSource属性动态绑定到页面控件的一个页面的表中,一选择该页面就报错,显示“未将对象引用设置到对象的实例。”

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/4/22 12:40:00 [只看该作者]

 If DataTables.contains("listBqybdb") = False   Then
Dim dtb As New DataTableBuilder("listBqybdb")
    dtb.AddDef("Bqybdb1", Gettype(String),150,"","项目")
    dtb.Build()
Else
DataTables.unload("listBqybdb")
Dim dtb As New DataTableBuilder("listBqybdb")
    dtb.AddDef("Bqybdb122", Gettype(String),150,"","项目2")
    dtb.Build()
End  If
Dim tb1 As WinForm.Table = e.Form.Controls("Table14")
    tb1.Table.AllowEdit = True
    tb1.Table.DataSource = DataTables("listBqybdb")    '---绑定临时表

Dim tab3 As WinForm.TabControl = e.Form.Controls("TabControl3")

    tab3.TabPages("page6").Visible = True

    tab3.SelectedPage = tab3.TabPages("page6")

这行红色部分代码就出错。显示“未将对象引用设置到对象的实例。”


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/22 14:20:00 [只看该作者]

代码测试没有问题

窗口设计里创建的TabControl默认页面名称是没有值的,只有标题值。

tab3.TabPages("page6")是通过名称访问的


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看



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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/4/22 16:12:00 [只看该作者]

经验呀,因为页签多了,原来用顺序号,改为名称后,有的忘记改了。看来真不能随意改动呀。有何经验分享一下!!

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2017/4/22 16:18:00 [只看该作者]

感觉写程序比什么工作都难,您就是考博士,也有点伸缩性,70-80分就行了。写代码连一个小符号都不能错。就没有模糊大差不差的写法?
我感觉程序员干什么都会牛B的很。炒股,赌,泡妞,学霸样样精通!!!

 回到顶部