Rss & SiteMap

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

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

标题:这里的table和datatable 俺又糊涂了!

1楼
mr725 发表于:2009/7/14 17:48:00
内部表共9683行, 当在目录树中双击一个节点后(多次点不同节点都是一样),为什么下面两条显示的结果会是一样的???    请再帮我解释一下吧图片点击可在新窗口打开查看
Output.Show(tables("test").Rows.Count)
output.show(datatables("test").datarows.count)


图片点击可在新窗口打开查看此主题相关图片如下:又是datatable 和 table .gif
图片点击可在新窗口打开查看
2楼
狐狸爸爸 发表于:2009/7/14 17:58:00
两种可能:
1、筛选的不是Tables("test")
2、或者所有行都符合筛选条件
3楼
mr725 发表于:2009/7/14 17:58:00
所以:http://www.foxtable.com/dispbbs.asp?boardid=2&Id=3564 里的问题就产生了!~
beforecloseproject里设了代码 DataTables("test").DataRows.Clear()  重新打开后,还会有数据行!
4楼
mr725 发表于:2009/7/14 18:01:00
以下是引用狐狸爸爸在2009-7-14 17:58:00的发言:
两种可能:
1、筛选的不是Tables("test")
2、或者所有行都符合筛选条件

2、 ..... 共有9683行,筛选后只剩下十几行啊~ 

双击节点的代码:
 Select Case e.Node.Level
        Case 0
            Filter ="[代码及科目] = '" & Value(0) & "'"
        Case 1
            Filter ="[代码及科目] = '" & Value(0) & "' And [科目名称] = '" & Value(1) & "'"             
    End Select
    DataTables("test").LoadFilter = Filter
    DataTables("test").Load()


[此贴子已经被作者于2009-7-14 18:02:12编辑过]
5楼
lxl 发表于:2009/7/14 18:09:00
哈哈 ,你的确一直是糊涂的。
假如:
总共10000条数据
加载了1000条数据
筛选出了100条数据
那么
DataTable有1000条数据
Table有100条数据。

你的列子没有筛选 所以DataTable和Table 都是一样了
[此贴子已经被作者于2009-7-14 18:09:10编辑过]
6楼
lxl 发表于:2009/7/14 18:24:00

命令窗口执行:
Dim c  As Integer
Dim cmd As New SQLCommand
cmd.CommandText = "Select count(*) From {test}"
c = cmd.ExecuteScalar()
output.show("总共 " & c & " 条记录")
output.show("加载了 " & datatables("test").datarows.count  & " 条记录")
Output.Show("筛选出了 " & tables("test").Rows.Count & " 条记录")

7楼
mr725 发表于:2009/7/14 18:41:00

lxl老师: 
1、我的这个test表 一共9683条记录(行),在没有任何操作时 datatables("test") 和 tables("test") 都是一样的行数 9683行, 当点击节点后(如一楼),剩下15行,这是加载还是的结果?我没搞清楚~ ?
2、是DataTables("test").Load() 表示加载吧,并没有筛选的意思,所以一楼显示结果都一致!~
3、那么,datatabletable 都是动态的数字(行) , datatable可能少于原来的datatable的行数,我一直以为datatable的行数是不变的~

所以我这样来描述:不知对否?
总共10000条数据       这是一个表A的后台数据行数,或称 后台的  datatable  一个表的所有行数
加载了1000条数据      这是加载到表A的数据行数,或称 加载后的  datatable  可能条件不同会加载不同的行数
筛选出了100条数据     这是经过筛选后表A的数据行数,也称,前台即可见的 table
呵呵~  总之,我还是有些糊涂~~  图片点击可在新窗口打开查看

8楼
mr725 发表于:2009/7/14 18:49:00
还有个问题:  在我点击了节点后, 我想一次性删除 test表 的所有数据时 用DataTables("test").DataRows.Clear() 肯定不行了, 应该怎样做才可以删除test表中所有的数据行(就是要是test表成为一个空表)?
9楼
lxl 发表于:2009/7/14 19:02:00
以下是引用mr725在2009-7-14 18:41:00的发言:

lxl老师: 
1、我的这个test表 一共9683条记录(行),在没有任何操作时 datatables("test") 和 tables("test") 都是一样的行数 9683行, 当点击节点后(如一楼),剩下15行,这是加载还是的结果?我没搞清楚~ ?
2、是DataTables("test").Load() 表示加载吧,并没有筛选的意思,所以一楼显示结果都一致!~
3、那么,datatabletable 都是动态的数字(行) , datatable可能少于原来的datatable的行数,我一直以为datatable的行数是不变的~

所以我这样来描述:不知对否?
总共10000条数据       这是一个表A的后台数据行数,或称 后台的  datatable  一个表的所有行数
加载了1000条数据      这是加载到表A的数据行数,或称 加载后的  datatable  可能条件不同会加载不同的行数
筛选出了100条数据     这是经过筛选后表A的数据行数,也称,前台即可见的 table
呵呵~  总之,我还是有些糊涂~~  图片点击可在新窗口打开查看

这下理解对了。

回答你第一个问题:
不做任何操作的话,默认加载所有行。LoadFliter = "True"
点一个节点后,显示15行,是重新加载。 LoadFliter = "指定条件"

严格一点说,加载后的才是DataTable.没加载的只是硬盘上的数据(不能称之谓后台DataTable)

10楼
lxl 发表于:2009/7/14 19:06:00
以下是引用mr725在2009-7-14 18:49:00的发言:
还有个问题:  在我点击了节点后, 我想一次性删除 test表 的所有数据时 用DataTables("test").DataRows.Clear() 肯定不行了, 应该怎样做才可以删除test表中所有的数据行(就是要是test表成为一个空表)?

    DataTables("test").LoadFilter = "False"
    DataTables("test").Load()


其实打开项目的时候就应该加载一个空表。这样性能才是最好的。
你看看BeforeLoadInnerTable

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

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

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