以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何将外部数据源中的所有表一次全加入到狐表中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23861) |
-- 作者:Fotable -- 发布时间:2012/9/21 22:52:00 -- 如何将外部数据源中的所有表一次全加入到狐表中 如题 |
-- 作者:Fotable -- 发布时间:2012/9/21 23:25:00 -- 我想了一个这样的办法 方法一:利用 outtalebuilder Dim lst As List(Of String) Dim q As new OuterTableBuilder For Each nm As String In lst
[此贴子已经被作者于2012-9-21 23:33:37编辑过]
|
-- 作者:Fotable -- 发布时间:2012/9/21 23:36:00 -- 然后我有想了第二个方法 利用adoxbuilder
Dim Builder As New ADOXBuilder(connection1)
Dim lst As List(Of String) For Each nm As String In lst
next
这个方法报错 [此贴子已经被作者于2012-9-21 23:38:13编辑过]
|
-- 作者:Fotable -- 发布时间:2012/9/21 23:53:00 -- 思考一下为什么报错呢?是不是外部数据库中的表没有identify列。 我就先用代码给外部数据库中的表增加identify列。 Dim Builder As New ADOXBuilder(connection1)
但这个方法也报错,提示保留名称不能作为列名称使用 |
-- 作者:blackzhu -- 发布时间:2012/9/22 8:14:00 -- 2楼的做法虽说是临时表,但是可编辑保存的. 貌似全部加载可以这样吧 for each dt as datatable in datatables dt.load next
|
-- 作者:lin_hailun -- 发布时间:2012/9/22 9:22:00 -- 以下是引用Fotable在2012-9-21 23:36:00的发言:
然后我有想了第二个方法 利用adoxbuilder
Dim Builder As New
ADOXBuilder(connection1)
Dim lst As List(Of String) For Each nm As String In lst
next
这个方法报错 [此贴子已经被作者于2012-9-21 23:38:13编辑过]
Dim Builder As New ADOXBuilder(connection1) 去掉数据源 tbl = Builder.Tables(nm) 创建表是 Builder.NewTable(nm) 但这样是复制表,与外部数据源就无关了。 建议还是使用2楼的方法,每次项目启动的时候添加进来。(狐表可能也是这样干的) |
-- 作者:Fotable -- 发布时间:2012/9/22 10:37:00 -- 以下是引用blackzhu在2012-9-22 8:14:00的发言: datatable.load 方法 其实针对的是数据的加载。本身都已经成为datatable了 说明这个表已经被加入到狐表中了,只是没有加载数据。
2楼的做法虽说是临时表,但是可编辑保存的. 貌似全部加载可以这样吧
for each dt as datatable in datatables
dt.load
next |
-- 作者:Fotable -- 发布时间:2012/9/22 10:42:00 -- 以下是引用blackzhu在2012-9-22 8:14:00的发言:
2楼的做法虽说是临时表,但是可编辑保存的. 貌似全部加载可以这样吧
for each dt as datatable in datatables
dt.load
next 还有 虽说这种方法可以编辑保存,但保存的只是数据,对于表格的事件函数,表格的属性设置,确没有办法保存。这个意义是差别很大的 |
-- 作者:Fotable -- 发布时间:2012/9/22 10:46:00 -- 以下是引用lin_hailun在2012-9-22 9:22:00的发言:
Dim Builder As New ADOXBuilder(connection1) 去掉数据源 tbl = Builder.Tables(nm) 创建表是 Builder.NewTable(nm) 但这样是复制表,与外部数据源就无关了。 用builder.newtable的方法这样建立,只是复制一个表名,表的列如何复制呢? |