Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]学习 fill中遇到问题

1楼
gzdw 发表于:2012/2/13 19:59:00

'测试Fill方法,以下是帮助中的说明:
'如果需要从从其它表加载数据,则需要使用Fill方法。
'Fill方法能够根据指定的SQL语句,从指定的数据源中加载数据。


Dim StartDate As Date
StartDate=#2012-1-1 00:00:00#
'直接指定日期进行“Fill方法”
'“测试表”为内部表,{远程}为外部数据源的表名,表结构相同。
' 连接名称为“测试”,
DataTables("测试表").Fill("Select * From {远程} where [日期时间] > #" & StartDate & "#", "测试",False)

 

存在一个问题,上述代码执行后,在表中能看到新增的数据。但再次打开项目时,还是原有数据,没有新增的数据。

这个新增数据还需要用代码来保存吗?


 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目4.rar

[此贴子已经被作者于2012-2-13 23:02:40编辑过]
2楼
狐狸爸爸 发表于:2012/2/13 21:42:00

Fill使用是sql语法,如果数据源是SQl SERVER,日期常量用单引号而不是#号括起来,例如:
SELECT * FROM {订单} WHERE 日期 >= '1/1/1999' AND 日期 <= '1/31/1999'
如果是Oracle的数据源,必须用TO_DATE函数转换,例如加载1999年10月21日的订单:
SELECT * FROM {订单} WHERE 日期 = TO_DATE('10/21/1999','MM/DD/YYYY')

 

参考:

 

http://www.foxtable.com/help/topics/2343.htm
 

3楼
gzdw 发表于:2012/2/13 21:56:00

我这个外部数据源是“Access”文件。

请问老大,怎样才能把新增数据保存起来?

4楼
狐狸爸爸 发表于:2012/2/13 21:59:00

增加数据之后,保存即可,和内部表没有任何差别。

注意一点: 外部表默认只加载10行数据。

5楼
gzdw 发表于:2012/2/13 22:08:00

上述命令是用于内部表(原来已有数据)从access文件中增加数据。

使用fill方法后,这个内部表中已能看到新增的数据,但退出项目(并且按了保存按钮)后,再次打开就没有了

6楼
gzdw 发表于:2012/2/13 23:03:00
我把项目文件上传了,请老大看一下。
7楼
mr725 发表于:2012/2/14 8:53:00
没看懂,你是要在“测试表”中增加数据源中指定日期的数据?  这样用SQLCommand 加 数据填充器Filler不是很简单吗?
8楼
狐狸爸爸 发表于:2012/2/14 8:55:00

抱歉,我无法理解你的问题,我不明白你的增加按钮的代码为什么这么复杂。

外部表和内部表本没有差别的,一样的用AddNew增加行,然后保存即可。

9楼
gzdw 发表于:2012/2/14 9:03:00

不好意思,主要是在帮助中看到“filler”的用法,想使用。

昨晚后来才看明白,“filler”是加载数据至某表,而不是“添加”。

现在我把增加数据的代码修改了,可以实按条件把外部数据源的数据“添加”至“测试表”:

'增加新数据
'先把数据加载至表b
DataTables("表b").Fill("Select * From {远程} where [datetime] >= #" & StartDate & "# And [datetime] < #" & EndDate & "#" , "测试",False)

'再接受数据

Dim f As New Filler
f.SourceTable = DataTables("表b") '指定数据来源
f.SourceCols = "jqno,datetime" '指定数据来源列
f.DataTable = DataTables("测试表") '指定数据接收表
f.DataCols = "jqno,datetime" '指定数据接收列
f.Fill() '填充数据
MessageBox.Show("接收数据结束")
DataTables("测试表").Save

 

[此贴子已经被作者于2012-2-14 9:07:25编辑过]
共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 3 queries.