以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 8月17日第二次更新,送件压箱底的货给大家 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7895) |
-- 作者:狐狸爸爸 -- 发布时间:2010/8/17 18:51:00 -- 8月17日第二次更新,送件压箱底的货给大家 动态创建表和列
ADOXBuilder用于动态创建表和列。
动态增加列
在命令窗口执行下面的代码:
Dim Builder As New ADOXBuilderBuilder.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: 字符型
动态删除列
在命令窗口执行下面的代码:
Dim Builder As New ADOXBuilderBuilder.Open() \'打开ADOXBuilder With Builder.Tables("表A") .DeleteColumn("日期") .DeleteColumn("产品") End With Builder.Close() \'关闭ADOXBuilder
执行后重新打开项目,会发现表A的日期和产品列已经被删除。
动态增加表
在命令窗口执行下面的代码:
执行后重新打开项目,会发现多另一个订单表。
动态删除表
执行下面的代码,可以删除表A和表B:
Dim Builder As New ADOXBuilderBuilder.Open() With Builder .DeleteTable("表A") .DeleteTable("表B") End With Builder.Close()
执行上述代码后,同样应该重新打开项目。
使用外部数据源
前面的代码都是针对内部数据源的,如果要为外部数据源动态创建表和列,只需在定义ADOXBuilder的时候,指定数据源名称即可:
Dim Builder As New ADOXBuilder("数据源名称")
例如在名为nwnd的外部数据源中创建一个订单表:
Dim Builder As New ADOXBuilder("nwnd") \'要指定数据源名称
重新打开项目的代码
前面已经提到,动态创建的表和列之后,都必须重新打开项目。 可以使用下面的代码重新打开当前项目:
Syscmd.Project.Open(ProjectFile)
[此贴子已经被作者于2010-8-17 21:48:14编辑过]
|
-- 作者:mr725 -- 发布时间:2010/8/17 19:02:00 -- 沙发 |
-- 作者:donaldwc -- 发布时间:2010/8/17 19:30:00 -- 努力学习,争取购买开发版。 [此贴子已经被作者于2010-8-17 19:30:17编辑过]
|
-- 作者:czy -- 发布时间:2010/8/17 20:11:00 -- 老六,动态增加列的代码检查一下。 |
-- 作者:lkqing -- 发布时间:2010/8/17 20:44:00 -- 顶!!!!!! |
-- 作者:古奇 -- 发布时间:2010/8/17 21:09:00 -- 顶一个。。。顺便问个疑问。。SQLTable型Table 是不是不能设置列属性的啊。。?? |
-- 作者:狐狸爸爸 -- 发布时间:2010/8/17 21:52:00 -- 以下是引用古奇在2010-8-17 21:09:00的发言:
顶一个。。。顺便问个疑问。。SQLTable型Table 是不是不能设置列属性的啊。。??
用代码设置。 |
-- 作者:i52117 -- 发布时间:2010/8/17 22:16:00 -- ![]() |
-- 作者:方丈 -- 发布时间:2010/8/17 23:20:00 -- ![]() |
-- 作者:程兴刚 -- 发布时间:2010/8/18 0:14:00 -- 使劲顶起来! |