Foxtable(狐表)用户栏目专家坐堂 → 怎样用代码新建表,以实现真正的动态加载表?


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

主题:怎样用代码新建表,以实现真正的动态加载表?

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
怎样用代码新建表,以实现真正的动态加载表?  发帖心情 Post By:2009/10/15 12:04:00 [只看该作者]

如题,记不清狐表中有无此功能了,请教一下
(1)怎样用代码新建一个表(不是临时表,但缺省的表结构也可);以实现真正的动态加载表?

[此贴子已经被作者于2009-10-15 17:07:31编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/10/15 12:07:00 [只看该作者]

我记得只能建立临时表

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/10/15 12:25:00 [只看该作者]

    我想要实现的功能是,在打开项目的时候,项目中没有表(或有很少表),,在使用的过程中,根据需要,用代码新建一些空表(指定表名的内部表,反正是空表,表结构是缺省的也无所谓,),然后再用DataTable 的Fill方法加载数据.
    之所以有这样的需求,是因为经测试,狐表项目中表越多打开项目越慢,当有几十个表时,即使全部是内部表,即使不加载任何数据,也需要几分钟的时间,所以,我想在打开项目时打开非常少的表,在项目运行过程中,根据需要,再动态增加表,并利用DataTable 的fill方法动态加载数据.

  补充:
  用系统命令Syscmd.Table.AddDataTable()不行,这个系统命令需要交互,我希望用代码直接指定表名生成内部数据表,用DataTableBuilder也不行,因为它只能生成临时表,临时表不能编辑和保存数据.
   由于新建的表只需要指定表名即可,不需要指定表结构,我想这个应该不难解决吧? 希望贺老师想个办法!
[此贴子已经被作者于2009-10-15 12:52:25编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/10/15 12:53:00 [只看该作者]

以下是引用cpayinyuan在2009-10-15 12:25:00的发言:
    我想要实现的功能是,在打开项目的时候,项目中没有表(或有很少表),,在使用的过程中,根据需要,用代码新建一些空表(指定表名的内部表,反正是空表,表结构是缺省的也无所谓,),然后再用DataTable 的Fill方法加载数据.
    之所以有这样的需求,是因为经测试,狐表项目中表越多打开项目越慢,当有几十个表时,即使全部是内部表,即使不加载任何数据,也需要几分钟的时间,所以,我想在打开项目时打开非常少的表,在项目运行过程中,根据需要,再动态增加表,并利用DataTable 的fill方法动态加载数据.

  补充:
  用系统命令Syscmd.Table.AddDataTable()不行,这个系统命令需要交互,我希望用代码直接指定表名生成内部数据表,用DataTableBuilder也不行,因为它只能生成临时表,临时表不能编辑和保存数据.
   由于新建的表只需要指定表名即可,不需要指定表结构,我想这个应该不难解决吧? 希望贺老师想个办法!
[此贴子已经被作者于2009-10-15 12:52:25编辑过]

   希望贺老师想想办法!


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/10/15 12:54:00 [只看该作者]

用外部数据源,动态加载。

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/10/15 13:08:00 [只看该作者]

以下是引用狐狸爸爸在2009-10-15 12:54:00的发言:
用外部数据源,动态加载。 
    
      我现在用的就是外部数据源,而且是动态加载。没用的,解决不了打开项目太慢的问题。

      现在问题的关键是,在打开项目的时候,即使全部加载空表,当表较多时,打开项目的速度也会非常慢,慢得无法忍受。因为在一个项目中有很多个功能可能同时使用,多个表也可能同时使用,所以,在项目中同一时间需要使用的表可能很多。项目中需要同时共存多个表与打开项目时的速度,这两者是矛盾的。解决这个矛盾的最好途径,就是在打开项目时打开较少的表,其他的表在项目运行过程中动态添加,再动态加载!

     因为现在DataTable有了Fill方法,所以,只要FoxTable提供一个用代码动态建立内部数据表的功能,就可以利用Fill方法加载任意表的数据,所有的问题都会很容易解决了!

    总之,我认为,DataTable有了Fill方法,如果不能用代码动态建立和删除内部数据表,动去加载表的作用就受到很大的限制;如果DataTable的Fill方法与代码动态建立和删除内部数据表相配合,就会威力无穷!实现真正的动态加载表!
[此贴子已经被作者于2009-10-15 13:56:12编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/10/15 14:31:00 [只看该作者]

查阅任何一款软件的Sql数据库,你会发现,软件所对应的数据库中,至少有70%或之上,是空表。 因此在数据库中先建好需要的空表,不用事先定义好这些空表(即项目中事先没有这些空表),需要时用OuterTableBuilder编码生成外部数据表,再操作。应该和你的要求一致。

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/10/15 14:42:00 [只看该作者]

以下是引用mr725在2009-10-15 14:31:00的发言:
查阅任何一款软件的Sql数据库,你会发现,软件所对应的数据库中,至少有70%或之上,是空表。 因此在数据库中先建好需要的空表,不用事先定义好这些空表(即项目中事先没有这些空表),需要时用OuterTableBuilder编码生成外部数据表,再操作。应该和你的要求一致。

OuterTableBuilder好像可以!我试试,谢谢老兄!


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/10/15 16:11:00 [只看该作者]

以下是引用mr725在2009-10-15 14:31:00的发言:
查阅任何一款软件的Sql数据库,你会发现,软件所对应的数据库中,至少有70%或之上,是空表。 因此在数据库中先建好需要的空表,不用事先定义好这些空表(即项目中事先没有这些空表),需要时用OuterTableBuilder编码生成外部数据表,再操作。应该和你的要求一致。

    我认真试过了,OuterTableBuilder的确可以动态生成外部表,但是,速度比DataTable的Fill慢得太多了(差不多2-3倍吧).
    在打开项目时少加载表,我的本意是加快速度的,现在我改为OuterTableBuilder之后,启动项目的速度基本上没有多大改进,运行OuterTableBuilder反而浪费了很多时间,看起来用这种方法不实用.对加快启动速度没有实用价值!

    所以,还是建议贺老师认真考虑我6楼的建议,或者提供更好/更快的解决办法!

[此贴子已经被作者于2009-10-15 16:16:21编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/10/15 17:03:00 [只看该作者]

希望贺老师关注一下!

 回到顶部
总数 28 1 2 3 下一页