以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 外部数据查找 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92333) |
-- 作者:刘林 -- 发布时间:2016/11/1 9:25:00 -- 外部数据查找 textchanged事件中设计的查找 Dim txt As String = e.sender.Text Dim tbl As Table = Tables("学生信息") If txt = "" Then tbl.Filter = "" Else txt = "\'%" & txt & "%\'" tbl.Filter = "身份证件号 Like " & txt & " Or 学生姓名 Like " & txt & " Or 家庭成员姓名 Like " & txt & " Or 联系电话 Like " & txt End If 这是找出的加载了的记录里查找,请问老师如果要直接查找外部数据表中未加载的怎么办,也就是后台数据查找并加载显示?
|
-- 作者:有点蓝 -- 发布时间:2016/11/1 9:59:00 -- 参考:http://www.foxtable.com/webhelp/scr/1928.htm DataTables("订单").LoadFilter = "[日期] = #" & Date.Today & "#"
DataTables("订单").Load |
-- 作者:刘林 -- 发布时间:2016/11/1 10:53:00 -- Dim cmd As New SQLCommand Dim dt As DataTable = DataTables("成绩") cmd.connect i cmd.CommandText = "SE LECT * From {成绩}" dt = cmd.ExecuteReader() \'\'\'\'Dim dt As DataTable = DataTables("成绩") Dim Arys As List(Of String()) = dt.GetValues("考试名称|学校代码|年级代码") For Each Ary As String() In Arys Dim drs As List(Of DataRow) = dt.Select("[考试名称] = \'" & ary(0) & "\'And [学校代码] = \'" & ary(1) & "\'and [年级代码] =\'" & ary(2) & "\'", "折总 DESC") For n As Integer = 0 To drs.Count - 1 \'遍历所有行 If n > 0 AndAlso drs(n)("折总") = drs(n-1)("折总") Then \'如果总分和上一行相同 drs(n)("校序") = drs(n-1)("校序") \'则排名等于上一行 Else drs(n)("校序") = n + 1 \'设置排名 End If Next Next Dim Arys1 As List(Of String()) = dt.GetValues("考试名称|学校代码|年级代码|班级") For Each Ary1 As String() In Arys1 Dim drs As List(Of DataRow) = dt.Select("[考试名称] = \'" & ary1(0) & "\'And [学校代码] = \'" & ary1(1) & "\'and [年级代码] =\'" & ary1(2) & "\'And [班级] = \'" & ary1(3) & "\'", "折总 DESC") For m As Integer = 0 To drs.Count - 1 \'遍历所有行 If m > 0 AndAlso drs(m)("折总") = drs(m-1)("折总") Then \'如果总分和上一行相同 drs(m)("班序") = drs(m-1)("班序") \'则排名等于上一行 Else drs(m)("班序") = m + 1 \'设置排名 End If Next Next dt.save() 请问老师我想将原来的加载数据排序,改为后台直接排序,上面代码提示找不到折总列,是什么原因,怎么办?
|
-- 作者:有点蓝 -- 发布时间:2016/11/1 11:17:00 -- 折总是表达式列来的吧 |
-- 作者:刘林 -- 发布时间:2016/11/1 14:57:00 -- 是 |
-- 作者:有点蓝 -- 发布时间:2016/11/1 14:59:00 -- 数据库是没有狐表的表达式列的,不用SQLCommand,按2楼的方式加载数据进来 |
-- 作者:刘林 -- 发布时间:2016/11/1 15:18:00 -- 老师,我就是想不加载进来就排序好呢,因为数据库大了加载就麻烦了,请问有什么办法? |
-- 作者:有点蓝 -- 发布时间:2016/11/1 16:35:00 -- 那就不用表达式列进行比较,想办法用其它的数据列替代。 或者给dt动态增加一列表达式列
|
-- 作者:有点色 -- 发布时间:2016/11/1 18:53:00 -- 以下是引用刘林在2016/11/1 15:18:00的发言:
老师,我就是想不加载进来就排序好呢,因为数据库大了加载就麻烦了,请问有什么办法?
那一列根据什么得到的?如果是跨表的话,比较麻烦。如果可以直接得到,比如 金额列=单价*数量,直接写公式就好。 |