Foxtable(狐表)用户栏目专家坐堂 → [求助]如何从外部表中加载部分字段


  共有10104人关注过本帖树形打印复制链接

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

美女呀,离线,留言给我吧!
roshan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:4 积分:113 威望:0 精华:0 注册:2011/7/11 16:38:00
[求助]如何从外部表中加载部分字段  发帖心情 Post By:2011/9/1 16:03:00 [只看该作者]

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

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

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/1 16:33:00 [只看该作者]

只能用Fill。

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


 回到顶部