Foxtable(狐表)用户栏目专家坐堂 → 懒人心得,狐友共享


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

主题:懒人心得,狐友共享

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
懒人心得,狐友共享  发帖心情 Post By:2014/5/26 16:02:00 [显示全部帖子]

本人生性懒惰。

开发项目的每个环节,都想琢磨点通用的玩意。

潜水数日,摸着几条小鱼,慢慢红烧,烧熟一条,分享一条。

 

今天端上来的是:多数据源下日期括号、逻辑值的通用函数。

全局代码:

Public _cmd As New SQLCommand

Public _dt As DataTable   'SQLCommand临时DataTable
Public _rq As String   '日期括号
Public _true As Object   '逻辑真
Public _false As Object   '逻辑假

 

内部函数:

响应ddon的号召,改造一下:

If DataTables.Contains(Args(0)) Then
    _dt = DataTables(Args(0))
    If _dt.SourceType = 1 Then
        _rq = "#"
        _true = True
        _false = False
    Else
        _rq = "'"
        _true = 1
        _false = 0
    End If
Else
    _cmd.Connection Name = Args(0)
    If _cmd.Connection Name = "" Then
        _rq = "#"
        _true = True
        _false = False
    Else
        If Connections.Contains(_cmd.Connection Name) Then
            If Connections(_cmd.Connection Name).SourceType = 1 Then
                _rq = "#"
                _true = True
                _false = False
            Else
                _rq = "'"
                _true = 1
                _false = 0
            End If
        End If
    End If
End If
If IsDate(Args(1)) Then
    Return _rq & Args(1) & _rq
Else
    Return _rq & "1900-01-01" & _rq
End If

 

调用:

''调用*******************************
Dim d As String = ""
_cmd.CommandText = "Select * From {药品库存} Where 效期 > " & Functions.Execute("数据源通用代码","门诊管理系统(SQL)",d)
Output.Show(_cmd.ExecuteReader.DataRows(1)("效期"))

 

d = "2015-03-29"
_cmd.CommandText = "Select * From {药品库存} Where 效期 > " & Functions.Execute("数据源通用代码","门诊管理系统(SQL)",d)
Output.Show(_cmd.ExecuteReader.DataRows(1)("效期"))

 

Functions.Execute("数据源通用代码","药品库存",d)
DataTables("药品库存").LoadFilter = "灭菌效期 = "  & _true

DataTables("药品库存").Load

 

DataTables("药品库存").LoadFilter = "效期 > " & Functions.Execute("数据源通用代码","门诊管理系统(SQL)",d)
DataTables("药品库存").Load
''调用*******************************

 

且听下回分解

[此贴子已经被作者于2014-5-26 20:06:47编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/26 16:10:00 [显示全部帖子]

论坛的数据源名,不给正常显示,代码都弄乱了。

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/26 18:42:00 [显示全部帖子]

不用写数据源条件判断了。

 

变量放在日期的前后,是照顾狐友的使用习惯。


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/26 19:49:00 [显示全部帖子]

响应ddon的号召,改造一下:

If DataTables.Contains(Args(0)) Then
    _dt = DataTables(Args(0))
    If _dt.SourceType = 1 Then
        _rq = "#"
        _true = True
        _false = False
    Else
        _rq = "'"
        _true = 1
        _false = 0
    End If
Else
    _cmd.Connection Name = Args(0)
    If _cmd.Connection Name = "" Then
        _rq = "#"
        _true = True
        _false = False
    Else
        If Connections.Contains(_cmd.Connection Name) Then
            If Connections(_cmd.Connection Name).SourceType = 1 Then
                _rq = "#"
                _true = True
                _false = False
            Else
                _rq = "'"
                _true = 1
                _false = 0
            End If
        End If
    End If
End If
If IsDate(Args(1)) Then
    Return _rq & Args(1) & _rq
Else
    Return _rq & "1900-01-01" & _rq
End If

 

调用:

''调用*******************************
Dim d As String = ""
_cmd.CommandText = "Select * From {药品库存} Where 效期 > " & Functions.Execute("数据源通用代码","门诊管理系统(SQL)",d)
Output.Show(_cmd.ExecuteReader.DataRows(1)("效期"))

 

d = "2015-03-29"
_cmd.CommandText = "Select * From {药品库存} Where 效期 > " & Functions.Execute("数据源通用代码","门诊管理系统(SQL)",d)
Output.Show(_cmd.ExecuteReader.DataRows(1)("效期"))

 

Functions.Execute("数据源通用代码","药品库存",d)
DataTables("药品库存").LoadFilter = "灭菌效期 = "  & _true

DataTables("药品库存").Load

 

DataTables("药品库存").LoadFilter = "效期 > " & Functions.Execute("数据源通用代码","门诊管理系统(SQL)",d)
DataTables("药品库存").Load
''调用*******************************

[此贴子已经被作者于2014-5-26 20:01:16编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/27 10:05:00 [显示全部帖子]

不在远程数据库中,没有大量数据,测试动态加载表、动态加载数据,就失去了意义。

今天想把一个大数据量的Excel表,折腾到狐表公司提供的SQLServer数据库中,保存到现在,还没结束。


 回到顶部