以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  从外部数据源fill数据到内部表中保存不生效?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=97807)

--  作者:happyft
--  发布时间:2017/3/18 18:13:00
--  从外部数据源fill数据到内部表中保存不生效?
项目是外部数据源,但在项目中有一个内部表如表A(表结构与外部数据不一致)
打开项目后在命令窗口中用如下代码向表A中fill了外部数据源的数据并且保存了
DataTables("表A").Fill("Se ect * From {订单}", Mydata, False)
DataTables("表A").Save()

执行过后重新打开项目结果表A中还是原来的数据,为什么?是不是要表结构一样才可以。
就是想有几个内部表可以人为的从另外的数据源中fill数据进来,保存后重新打开项目时数据还在,要怎么实现?
谢谢!

--  作者:wyz20130512
--  发布时间:2017/3/19 21:10:00
--  
这种方法加载的数据表实际是外部数据表
1.修改的值是可以保存在后台的.
2.重启项目后,不复存在(其特点就是体现动态).
3.一般是临时性编辑修改数据用.

[此贴子已经被作者于2017/3/19 21:13:41编辑过]

--  作者:HappyFt
--  发布时间:2017/3/20 9:20:00
--  
没看明白,那从外部数据源中的某个表加载数据保存到内部表中要怎么实现?还是没办法实现?
--  作者:wyz20130512
--  发布时间:2017/3/20 11:28:00
--  
方法1.使用菜单添加数据源和外部表
方法2.使用OutTableBuilder代码添加

以上两种方法加载引入的数据表不会出现不会保存的问题.
[此贴子已经被作者于2017/3/20 11:31:36编辑过]

--  作者:有点色
--  发布时间:2017/3/20 11:54:00
--  
以下是引用HappyFt在2017/3/20 9:20:00的发言:
没看明白,那从外部数据源中的某个表加载数据保存到内部表中要怎么实现?还是没办法实现?

 

只能用合并,http://www.foxtable.com/webhelp/scr/2137.htm

 


--  作者:HappyFt
--  发布时间:2017/3/20 13:13:00
--  
OuterTableBuilder从外部数据源取数每次都会新增一个表,如果表A原来已经存在就不可以。
我的目的就是内部表A,主要用于存储多语言版本的字段品,控件名称等,这个表的数据会比较大1,2万行,有时需要从外部数据源中加载新的数据进来更新一下,每次打开项目都加载的话影响速度,看来只能用合并了。
谢谢!

--  作者:HappyFt
--  发布时间:2017/3/20 16:24:00
--  
还有一个办法就是先将内部表A删除,再重新从外部数据源中加载数据来生成一个新的表A
Dim Builder As New ADOXBuilder
Builder.Open()
With Builder
    .Del eteTable("表A")
End With
Builder.Close()

Dim q As new OuterTableBuilder
q.TableName = "表A"
q.ConnectionName = Mydata
q.Se lectString = "Se lect * From {订单}"
q.B uild

但上下两部份代码在命令窗口中一次执行会报错,删除内部表的代码要怎么才行,这样是否比merge效率更高?


--  作者:有点色
--  发布时间:2017/3/20 17:30:00
--  

回复7楼,你这种方法,你操作的依然是外部数据源的订单表。

 

至于删除报错的问题,你删除后,记得要unload表A。