Foxtable(狐表)用户栏目专家坐堂 → 外部数据查找


  共有2328人关注过本帖树形打印复制链接

主题:外部数据查找

帅哥哟,离线,有人找我吗?
刘林
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
外部数据查找  发帖心情 Post By: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

这是找出的加载了的记录里查找,请问老师如果要直接查找外部数据表中未加载的怎么办,也就是后台数据查找并加载显示?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/1 9:59:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/scr/1928.htm

DataTables("订单").LoadFilter = "[日期] = #" Date.Today & "#"
DataTables(
"订单").Load

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By: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()


请问老师我想将原来的加载数据排序,改为后台直接排序,上面代码提示找不到折总列,是什么原因,怎么办?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/1 11:17:00 [只看该作者]

折总是表达式列来的吧

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2016/11/1 14:57:00 [只看该作者]



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/1 14:59:00 [只看该作者]

数据库是没有狐表的表达式列的,不用SQLCommand,按2楼的方式加载数据进来

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2016/11/1 15:18:00 [只看该作者]

老师,我就是想不加载进来就排序好呢,因为数据库大了加载就麻烦了,请问有什么办法?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/1 16:35:00 [只看该作者]

那就不用表达式列进行比较,想办法用其它的数据列替代。

或者给dt动态增加一列表达式列

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/1 18:53:00 [只看该作者]

以下是引用刘林在2016/11/1 15:18:00的发言:
老师,我就是想不加载进来就排序好呢,因为数据库大了加载就麻烦了,请问有什么办法?

 

那一列根据什么得到的?如果是跨表的话,比较麻烦。如果可以直接得到,比如 金额列=单价*数量,直接写公式就好。


 回到顶部