以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- SQL外部数据源动态加载新问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2980) |
-- 作者:woodiy -- 发布时间:2009/6/1 16:10:00 -- SQL外部数据源动态加载新问题 利用SQL作为外部数据源,为了有效提高项目的打开速度,在项目属性的BeforeLoadOuterTable设置如下代码来控制载入外部数据表,而不加载外部数据记录: If e.DataTableName = "通讯往来" AndAlso e.User.Name = "开发者" Then ’我还没有设置登录用户 e.SelectString = "Select * From [通讯往来] Where ID=\'0\'" ‘ID 为SQL表的关键字段 End If 然后在需要加载的时候,可以用按钮或是菜单的Chick事件来加载 DataTables("通讯往来").LoadFilter = "[ID] <> \'0\' ORDER BY ID DESC " \'通过ID来排序。 DataTables("通讯往来").Load() 现在有一个新的问题,如果数据比较多,我只想加载100条记录,又该如何设置呢? |
-- 作者:mr725 -- 发布时间:2009/6/1 16:19:00 -- 帮助上看到的 增加外部数据表 加载100条记录。 |
-- 作者:woodiy -- 发布时间:2009/6/1 16:29:00 -- 以下是引用mr725在2009-6-1 16:19:00的发言:
帮助上看到的 增加外部数据表 加载100条记录。
|
-- 作者:yangming -- 发布时间:2009/6/1 16:34:00 -- 直接在外部数据表中可以设置加载的行数 |
-- 作者:woodiy -- 发布时间:2009/6/2 8:47:00 -- 不行的,没有用的! |
-- 作者:yangming -- 发布时间:2009/6/2 9:06:00 -- 增加外部数据表 1、在管理项目功能区,单击下面的按钮: 2、出现外部数据表设置窗口: 3、首先选择数据源和数据表,然后设置加载的行数或百分比,以及加载那些列;在“过滤/排序”页,可以设置加载条件,以及排序方式;通常只需选择数据源和数据表即可。 4、单击“确定”按钮,输入数据表在Foxtable中显示的表名即可 |
-- 作者:mr725 -- 发布时间:2009/6/2 9:14:00 -- 看来,你得给大家一个实例了~ 我不太熟悉外部表的,但论坛有人会~ |
-- 作者:狐狸爸爸 -- 发布时间:2009/6/2 9:42:00 -- 只需改一个地方: If e.DataTableName = "通讯往来" AndAlso e.User.Name = "开发者" Then ’我还没有设置登录用户 e.SelectString = "Select Top 100 From [通讯往来] Where ID=\'0\'" ‘ID 为SQL表的关键字段 End If 不过这样每次都只能加载100了,不太灵活。 另一个思路是让用户输入ID范围,加载这个指定范围的记录,这样较为灵活,当然工作量也就多点。 |
-- 作者:yangming -- 发布时间:2009/6/2 9:58:00 -- 贺老师,如果做在按钮中,来加载100行,下面的代码对吗? Dim i As Integer For i = 1 to 100 DataTables("通讯往来").LoadFilter = "[ID] <> \'0\' ORDER BY ID DESC " \'通过ID来排序。 DataTables("通讯往来").DataRows(i).Load() Next |
-- 作者:woodiy -- 发布时间:2009/6/3 9:29:00 -- 以下是引用狐狸爸爸在2009-6-2 9:42:00的发言:
只需改一个地方: If e.DataTableName = "通讯往来" AndAlso e.User.Name = "开发者" Then ’我还没有设置登录用户 e.SelectString = "Select Top 100 From [通讯往来] Where ID=\'0\'" ‘ID 为SQL表的关键字段 End If 不过这样每次都只能加载100了,不太灵活。 另一个思路是让用户输入ID范围,加载这个指定范围的记录,这样较为灵活,当然工作量也就多点。
|