Rss & SiteMap

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

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

标题:[求助]如何从外部表中加载部分字段

1楼
roshan 发表于:2011/9/1 16:03:00

在项目开发过程中,想实现:根据用户权限从外部数据库的指定数据表中加载部分字段,不知有什么好的思路?

1、曾用datatable的load方法,但是该方法只能动态加载不同的记录,但加载的是全部字段,不能控制部分字段的加载。

2、用datatable的fill方法, 该方法能够实现部分字段的加载和不同记录的加载,但是这种方法会改变datatable的字段结构,会造成表事件的出错。

请问高手是否在load方法中可以内置类似于fill的select 语句?

2楼
hhbb 发表于:2011/9/1 16:11:00

Fill

对于SQLTable和SQLQuery类型的Table,以及副本型的Table,可以通过Fill方法动态加载数据。

语法:

Fill(SelectString, IsQuery)

或者

Fill(SelectString, ConnectionName, IsQuery)

SelectString:     Select语句
ConnectionName:   可选参数,指定数据源名称
IsQuery:          逻辑型,设为True,将生成SQLQuery型Table,否则生成SQLTable型Table.

示例

Tables("窗口1_Table1").Fill("Select * From {客户}","nwnd",True)

不管Table原来显示的是什么数据,执行上述代码后,Table将显示nwnd数据源中的客户表数据。

需要特别注意的是,如果只想取部分列生成SQLTable,那么必须包括主键列在内,例如:

Tables("窗口1_Table1").Fill("Select [_Identify],[客户],[数量],[单价] From {订单}",False)

这里假定订单表是内部数据表,内部数据表的主键列是_Identify,如果是外部表,请使用实际的主键列名称。

如果要生成SQLQuery,则没有这个限制:

Tables("窗口1_Table1").Fill("Select [_Identify],[客户],[数量],[单价] From {订单}",True)

3楼
狐狸爸爸 发表于:2011/9/1 16:33:00

只能用Fill。

另外定义外部表的时候,也可以指定字段的。

共3 条记录, 每页显示 10 条, 页签: [1]

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

Powered By Dvbbs Version 8.3.0
Processed in .07031 s, 2 queries.