Foxtable(狐表)用户栏目专家坐堂 → [分享] 自动更新表结构!


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

主题:[分享] 自动更新表结构!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
[分享] 自动更新表结构!  发帖心情 Post By:2013/11/9 18:38:00 [显示全部帖子]

当您的程序已经交付使用,在您后期不断地开发或更新中,您是不是要不断地增加表和列?当开发者更新交付使用的后台数据库和使用者的数据库不一致时,您认为什么样的方法最快捷,还要保证用户数据不丢失?

 

现在分享给大家一个自动更新表结构的方法和通用代码,这个功能几乎人人都用得上:

 

具体方法,请您回复后查看,回复会让更多的人受益:

 

 


以下内容只有回复后才可以浏览

 

                                                                                【注】:今日重新编辑添加备注,以供新手分析代码,易于套用。


[此贴子已经被作者于2014-3-20 1:44:36编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/11/10 18:42:00 [显示全部帖子]

以下是引用supwork在2013-11-10 17:43:00的发言:

  lst = Connections("远程数据库").GetTableNames '数据库名称需要根据您的项目自己修改。

 

这里的数据库名称要能自己识别,或在更新时提示用户自己选择就更好。

 

数据库名称是自己设计中指定,各个开发者不一样,当动态管理时,应该在您自己设计中来动态指定,我分享的是“自动更新表结构”的一种方法,不可能为您完成整个项目,甚至是内部表的时候,根本不需要指定数据源,这些您只需要稍加修改即可完成。

 

    在我分享的所有帖子中,这是一个没有技术含量却是一个很有技巧的、大家都用得上的一个方法,,各位在此基础上自由发挥吧。


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/11/11 10:36:00 [显示全部帖子]

以下是引用浙江仔在2013-11-11 9:32:00的发言:
看不太懂,等下次再慢慢看吧

 

        如果是外部数据源,等于是现成货,拣过去就用,按照我那几步操作,修改数据源名称即可,暂时不需要太多地去了解,等基础扎实了再看它就易如反掌了。

        如果是内部数据源,则需要稍加修改,也可以应用。


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/11/14 14:57:00 [显示全部帖子]

以下是引用菲舍尔在2013-11-14 10:38:00的发言:

程版,这个函数只能增加列,好像没看到删除列和修改列的代码?

 

      既然这个作为升级用,那就不能删除已有的列,试想:早期的版本,用户已经添加了数据,随意删除会带来什么样的后果,按理说,软件升级只能增加列,禁止删除列才对,所以,这里不予考虑。


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/2/3 1:20:00 [显示全部帖子]

以下是引用shixia在2014-2-2 8:08:00的发言:
这个方法可以增加原数据库中没有的表,但不能对已存在的表进行修改列、增加列的结构更新,要是能把这个功能加上那就更完美了。

 

您试过了吗?


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/2/3 11:43:00 [显示全部帖子]

以下是引用shixia在2014-2-3 9:58:00的发言:
试过,不行,不过没有认真研究你的代码,相信完善后可以

 

我现在的思路是:判断表是否存在,不存在则添加表,然后再判断列不存在再添加列!


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/2/4 14:01:00 [显示全部帖子]

我就没见过在使用过程中更改列类型的,至于标题,和修改表结构没啥关系,其实,您压根儿就没有测试代码,只是一味地遐想连篇,呵呵!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/3/20 1:47:00 [显示全部帖子]

自我巩固一遍,熬夜为1楼代码添加了备注,方便更多的朋友快速理解!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/4/17 20:37:00 [显示全部帖子]

我的系统中已经这样用的,不知道您那里是不是哪里弄错了,仔细检查!


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/8/10 12:18:00 [显示全部帖子]

以下是引用ztmdnzc在2014-8-9 18:16:00的发言:

显摆他水平高么!

您认为我是为了在这里瞎显摆吗?

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