以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]如何从外部表中加载部分字段 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=12402) |
-- 作者:roshan -- 发布时间:2011/9/1 16:03:00 -- [求助]如何从外部表中加载部分字段 在项目开发过程中,想实现:根据用户权限从外部数据库的指定数据表中加载部分字段,不知有什么好的思路? 1、曾用datatable的load方法,但是该方法只能动态加载不同的记录,但加载的是全部字段,不能控制部分字段的加载。 2、用datatable的fill方法, 该方法能够实现部分字段的加载和不同记录的加载,但是这种方法会改变datatable的字段结构,会造成表事件的出错。 请问高手是否在load方法中可以内置类似于fill的select 语句? |
-- 作者:hhbb -- 发布时间:2011/9/1 16:11:00 -- Fill 对于SQLTable和SQLQuery类型的Table,以及副本型的Table,可以通过Fill方法动态加载数据。 语法: Fill(SelectString, IsQuery) 或者 Fill(SelectString, ConnectionName, IsQuery) SelectString: Select语句 示例 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) |
-- 作者:狐狸爸爸 -- 发布时间:2011/9/1 16:33:00 -- 只能用Fill。 另外定义外部表的时候,也可以指定字段的。 |