【房費制】抽象

 

是空的?我開始與isnull 推斷來逐個,但這個地方確實是很是重。咱們拿着反覆抓必要的抽象原則,同時類似有不一樣的實現功能。今天被認爲是一個概要。開胃菜,但願你們多多提出寶貴意見。sql

抽象,更好的代碼複用,也便於往後的維護。但願在作合做版的時候。能對這些問題有一個更加深入的理解。數據庫

 

推斷username是否存在

 這可以單獨寫一個方法或是小類。優化

 

推斷是否爲空

下面是參照高曉青師傅的博客寫的。設計

''' <summary>
''' 推斷窗口上所有控件是否爲空  
''' </summary>
''' <remarks>Boolean</remarks>

Public Class IsRight
    Public Function isNull(log As Windows.Forms.Control.ControlCollection) As Boolean
        Dim ConObject As New Control
        Dim flag As Boolean
        flag = True  '默認所有控件內部都有值
        For Each ConObject In log
            '利用TypeOf 查看空間類型
            If TypeOf (ConObject) Is TextBox Then
                If ConObject.Text.Trim = "" Then 'Tag表明當前爲空的控件
                    MsgBox(ConObject.Tag.ToString + "不能爲空,請輸入完整", vbOKOnly, "提示")
                    ConObject.Focus()
                    flag = False
                    Return flag
                    Exit Function
                End If
            End If
        Next
        Return flag
    End Function

    ''' <summary>
    ''' 推斷是否爲數字
    ''' </summary>
    ''' <param name="log"></param>
    ''' <returns></returns>
    ''' <remarks>Boolean</remarks>
    Public Function IsNumberic(log As Windows.Forms.Control.ControlCollection) As Boolean
        Dim ConObject As New Control
        Dim flag As Boolean
        flag = True  '默認所有控件內部都有值
        For Each ConObject In log
            '利用TypeOf 查看空間類型
            If TypeOf (ConObject) Is TextBox Then
                If IsNumeric(ConObject.Text) = False Then 'Tag表明當前爲空的控件
                    MsgBox(ConObject.Tag.ToString + +"   " + "請輸入數字", vbOKOnly, "提示")
                    ConObject.Focus()
                    flag = False
                    Return flag
                    Exit Function
                End If
            End If
        Next
        Return flag
    End Function


 

這樣一個類,能循環推斷所有的控件是否爲空,或是否爲數字。code

固然,細緻看了上面一個代碼你就會了解到,咱們還需要在設計空間的時候,將每個空間寫上它們本身的名字,方便給出精準的提示。orm

這個類直接放在U層就能夠。對象

那咱們看看它的client調用時這種。blog

        Dim MyObject As New IsRight
        Dim MyObjectNum As New IsRight

        If MyObject.isNull(Controls) = False Then
            Exit Sub
        End If
        If MyObjectNum.IsNumberic(Controls) = False Then
            Exit Sub
        End If


 

 

獲取數據庫時間

U層ip

Public Class GetTime
    Shared Function GetDate() As Date
        Dim getDate1 As New BLL.TimeBLL
        Return getDate1.GetDate
    End Function

    Shared Function GetTime() As Date
        Dim getTime1 As New BLL.TimeBLL
        Return getTime1.GetTime
    End Function
End Class

 

B層僅僅是個傳遞。並沒有實質性內容。咱們看看D層的代碼。你能一眼找到關鍵的兩句麼rem

    ''' <summary>
    ''' 獲取日期
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function GetDate() As Date Implements ITime.GetDate
        Dim sql As String '定義字符串變量sql 用於存放要運行的語句
        sql = "Select CONVERT(varchar(100), GETDATE(), 23)  " '獲取日期的代碼
        Dim cmdType As CommandType = CommandType.Text 'commandType 指定怎樣解釋命令字符串
        Dim sqlHelper As New Global.sqlHelper.sqlHelper '實例化sqlHelper這個類的對象
        Dim dt As New DataTable
        Dim SqlDate As String
        dt = sqlHelper.ExecSelectNo(sql, CommandType.Text)
        SqlDate = dt.Rows(0)(0).ToString
        Return SqlDate
    End Function

    ''' <summary>
    ''' 獲取時間
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function GetTime() As Date Implements ITime.GetTime
        Dim sql As String '定義字符串變量sql 用於存放要運行的語句
        sql = "Select CONVERT(varchar(100), GETDATE(), 24)  "
        Dim cmdType As CommandType = CommandType.Text 'commandType 指定怎樣解釋命令字符串
        Dim Parameter As SqlParameter() 'sqlParameter表示 SqlCommand 的參數,也可以是它到 DataSet 列的映射
        Parameter = {}
        Dim sqlHelper As New Global.sqlHelper.sqlHelper '實例化sqlHelper這個類的對象
        Dim dt As New DataTable
        Dim SqlTime As Date
        dt = sqlHelper.ExecSelectNo(sql, CommandType.Text)
        SqlTime = dt.Rows(0)(0).ToString
        Return SqlTime
    End Function
End Class



 

 

房費制。這是咱們本身的我的生活,使一個系統。這讓我先感謝寫了許多其餘的思惟程序。咱們有一個很是大的空間去思考如何使咱們的代碼更靈活,更強大的。咱們從代碼農民開始,它會越走越遠。

再次。但願本文能拋磚引玉,你的房間,您是如何抽象和優化?歡迎您留下意見。

相關文章
相關標籤/搜索