以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 动态加载外部数据的烦恼 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=12496) |
|||||||||||||||||||||
-- 作者:涛声依旧5666 -- 发布时间:2011/9/5 18:07:00 -- 动态加载外部数据的烦恼 foxtable提供了“设置外部表”界面,可以在设计时,非常好地预设加载的数据源,数据表,以及该表的部分字段,加载行数,过滤/排序等。 并且,这些参数设置完成后,能很好地与DataTable的Load(),LoadFilter等兼容,但是这些灵活性只能在设计时预先设定。 本人在开发项目时,需要强化权限的控制,即要求在运行时,动态控制某个DataTable的外部数据加载,主要控制字段数量(部分字段)和过滤条件(部分记录)。但一直找不到与“设置外部表”相对应的的指令来设置,更难与DataTable的Load(),LoadFilter等兼容。 非常郁闷,恳请各位高手、狐爸赐教。谢谢!!!!
换句话,即DataTable在加载外部表时,其load方法,是否可以嵌入SELECT语句???? |
|||||||||||||||||||||
-- 作者:涛声依旧5666 -- 发布时间:2011/9/5 20:23:00 --
|
|||||||||||||||||||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/5 21:15:00 -- 很简单就可以解决啊,因为除了Load,还有Fill:
http://www.foxtable.com/help/topics/1929.htm http://www.foxtable.com/help/topics/1930.htm http://www.foxtable.com/help/topics/2336.htm
[此贴子已经被作者于2011-9-5 21:15:53编辑过]
|
|||||||||||||||||||||
-- 作者:mr725 -- 发布时间:2011/9/5 21:15:00 -- Dim cmd As New SQLCommand Dim dt As DataTable Dim cmb As WinForm.ComboBox cmd.CommandText = "SELECT DISTINCT 客户 From {订单}" dt = cmd.ExecuteReader() output.show(dt.DataRows.count) |
|||||||||||||||||||||
-- 作者:涛声依旧5666 -- 发布时间:2011/9/5 23:07:00 -- 4楼的做法我也试过,但这样定义的dt是临时表,没有办法保存表事件的。
狐爸,我主要想动态加载部分字段,用fill的话,就没有办法使用你的动态加载部分记录(top或分页)的方法啦!!! |
|||||||||||||||||||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/5 23:11:00 -- 可以的,例如你先Fill100行,然后再用Load动态加载即可, 一样可以分页。
|
|||||||||||||||||||||
-- 作者:czy -- 发布时间:2011/9/5 23:16:00 -- Select Top 100 [_Identify], 产品, 客户, 数量, 日期 From {订单} |
|||||||||||||||||||||
-- 作者:czy -- 发布时间:2011/9/5 23:18:00 -- 楼主代码忘了写fill方法:
DataTables("表A").Fill("Select Top 100 [_Identify], 产品, 客户, 数量, 日期 From {订单}",False) |
|||||||||||||||||||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/5 23:36:00 -- Fill和Load配合使用的例子:
|
|||||||||||||||||||||
-- 作者:涛声依旧5666 -- 发布时间:2011/9/6 8:05:00 -- 谢谢,抓紧测试 |