以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何不加载数据时,外部表能自动跟新年龄  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=73403)

--  作者:阿福
--  发布时间:2015/8/18 21:32:00
--  如何不加载数据时,外部表能自动跟新年龄
请问老师们,如果外部数据源为sql server,有个客户信息表,里面有出生日期列,和年龄列,如何在每次打开项目后可以自动在不加载数据情况下,外部表更新年龄列,是不是要用RaiseDataColChanged?
--  作者:大红袍
--  发布时间:2015/8/18 21:52:00
--  

1、年龄列不需要实时更新吧?这样很滥发资源的;

 

2、可以直接写sql语句, up date 客户信息表 set 年龄 = DateDiff(yyyy, 出生日期, GetDate())


--  作者:阿福
--  发布时间:2015/8/18 22:07:00
--  
知道了,谢谢大红袍老师!
--  作者:阿福
--  发布时间:2015/8/18 22:23:00
--  
老师,由于上一条回复的话题界面出现错码,所以到条话题发问,黄色部分错了吧?

Dim f1 As String = "[sys_user]=\'" & e.DataRow("sys_user") & "\' and [日龄]>=\'" & e.DataRow("肉猪日龄_低") & "\' and [日龄]<=\'" & e.DataRow("肉猪日龄_高") & "\'"

Dim drs As List(Of DataRow) = DataTables("肉猪信息").sqlselect(f1)
Dim count As Integer = 0
Dim ls As New List(Of Integer)
Do While count < 20
    Dim rnd As Integer = Rand.Next(drs.Count)
    If ls.Contains(rnd) = False Then
        count += 1
        drs(rnd)("栋舍") = e.DataRow("原栋舍")
        drs(rnd).save
    End If
Loop


--  作者:大红袍
--  发布时间:2015/8/18 22:28:00
--  

 

Dim f1 As String = "[sys_user]=\'" & e.DataRow("sys_user") & "\' and [日龄]>=\'" & e.DataRow("肉猪日龄_低") & "\' and [日龄]<=\'" & e.DataRow("肉猪日龄_高") & "\'"

Dim drs As List(Of DataRow) = DataTables("肉猪信息").sqlselect(f1)
Dim count As Integer = 0
Dim ls As New List(Of Integer)
Dim max As Integer
If drs.Count > 20 Then
   
    max = 20
   
Else
   
    max = drs.count
   
End If


Do While count < max
    Dim rnd As Integer = Rand.Next(drs.Count-1)
    If ls.Contains(rnd) = False Then
        count += 1
        drs(rnd)("栋舍") = e.DataRow("原栋舍")
        drs(rnd).save
    End If
Loop