Foxtable(狐表)用户栏目专家坐堂 → 8月17日第二次更新,送件压箱底的货给大家


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

主题:8月17日第二次更新,送件压箱底的货给大家

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
8月17日第二次更新,送件压箱底的货给大家  发帖心情 Post By:2010/8/17 18:51:00 [只看该作者]

动态创建表和列

 

ADOXBuilder用于动态创建表和列。
ADOXBuilder对内部数据源、以及Access和SQL Server格式的外部数据源有效,对于Oracle格式的外部数据源无效。

 

动态增加列

 

在命令窗口执行下面的代码:

 

Dim Builder As New ADOXBuilder
Builder.Open()
'打开ADOXBuilder
With
Builder.Tables("表A")
    .AddColumn(
"日期" ,ADOXType.DateTime) '增加日期型列
    .AddColumn(
"产品" ,ADOXType.String, 12) '增加字符型列,长度指定为12
    .AddColumn(
"客户" ,ADOXType.String, 20) '增加字符列,长度为20
    .AddColumn(
"数量" ,ADOXType.Integer) '增加整数型列
    .AddColumn(
"备注" ,ADOXType.Text) '增加备注列
End
With
Builder.Close()
'关闭ADOXBuilder

 

执行后重新打开项目,会发现表A已经增加了上述列。

 

ADOXType的可选值包括:

 

String:  字符型
DateTime:日期时间型
Boolean: 逻辑型
Text:    备注型
Integer: 整数型
Long:    长整数型,注意内部表和Access数据源不支持此类型
Short:   短整数型
Byte:    微整数型
Double:  双精度小数型
Single:  单精度小数型
Decimal   高精度小数型

 

动态删除列

 

在命令窗口执行下面的代码:

 

Dim Builder As New ADOXBuilder
Builder.Open()
'打开ADOXBuilder
With
Builder.Tables("表A")
    .DeleteColumn(
"日期")
    .DeleteColumn(
"产品")
End
With
Builder.Close()
'关闭ADOXBuilder

 

执行后重新打开项目,会发现表A的日期和产品列已经被删除。

 

动态增加表

 

在命令窗口执行下面的代码:

Dim
Builder As New ADOXBuilder
Dim
tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable(
"订单") '创建表
With
tbl
    .AddColumn(
"日期" ,ADOXType.DateTime)
    .AddColumn(
"产品" ,ADOXType.String, 12)
    .AddColumn(
"客户" ,ADOXType.String, 20)
    .AddColumn(
"数量" ,ADOXType.Integer)
    .AddColumn(
"备注" ,ADOXType.Text)
End With
Builder.AddTable(tbl)
'增加表
Builder.Close()

 

执行后重新打开项目,会发现多另一个订单表。
增加表是分步的,首先用NewTable方法创建表,最后用AddTable将创建的表增加到
Builder中。

 

动态删除表

 

执行下面的代码,可以删除表A和表B:

 

Dim Builder As New ADOXBuilder
Builder
.Open()
With
Builder
    .
DeleteTable("表A")
    .
DeleteTable("表B")
End With

Builder
.Close()

 

执行上述代码后,同样应该重新打开项目。

 

使用外部数据源

 

前面的代码都是针对内部数据源的,如果要为外部数据源动态创建表和列,只需在定义ADOXBuilder的时候,指定数据源名称即可:

 

Dim Builder As New ADOXBuilder("数据源名称")

 

例如在名为nwnd的外部数据源中创建一个订单表:

 

Dim Builder As New ADOXBuilder("nwnd") '要指定数据源名称
Dim
tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable(
"订单") '创建表
With
tbl
    .AddColumn(
"日期" ,ADOXType.DateTime)
    .AddColumn(
"产品" ,ADOXType.String, 12)
    .AddColumn(
"客户" ,ADOXType.String, 20)
    .AddColumn(
"数量" ,ADOXType.Integer)
    .AddColumn(
"备注" ,ADOXType.Text)
End With
Builder.AddTable(tbl)
'增加表
Builder.Close()

 

重新打开项目的代码

 

前面已经提到,动态创建的表和列之后,都必须重新打开项目。

可以使用下面的代码重新打开当前项目:

 

Syscmd.Project.Open(ProjectFile)

 

 

[此贴子已经被作者于2010-8-17 21:48:14编辑过]

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


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

沙发

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


加好友 发短信
等级:幼狐 帖子:119 积分:1495 威望:0 精华:0 注册:2008/12/10 10:45:00
  发帖心情 Post By:2010/8/17 19:30:00 [只看该作者]

努力学习,争取购买开发版。
[此贴子已经被作者于2010-8-17 19:30:17编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/17 20:11:00 [只看该作者]

老六,动态增加列的代码检查一下。

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


加好友 发短信
等级:一尾狐 帖子:492 积分:4243 威望:0 精华:0 注册:2008/9/1 20:47:00
  发帖心情 Post By:2010/8/17 20:44:00 [只看该作者]

顶!!!!!!

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


加好友 发短信
等级:幼狐 帖子:177 积分:1571 威望:0 精华:0 注册:2008/9/1 22:25:00
  发帖心情 Post By:2010/8/17 21:09:00 [只看该作者]

顶一个。。。顺便问个疑问。。SQLTable型Table 是不是不能设置列属性的啊。。??

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/17 21:52:00 [只看该作者]

以下是引用古奇在2010-8-17 21:09:00的发言:
顶一个。。。顺便问个疑问。。SQLTable型Table 是不是不能设置列属性的啊。。??

 

用代码设置。


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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2010/8/17 22:16:00 [只看该作者]

图片点击可在新窗口打开查看支持狐爸!

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10727 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2010/8/17 23:20:00 [只看该作者]

图片点击可在新窗口打开查看支持狐爸!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/8/18 0:14:00 [只看该作者]

使劲顶起来!

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