用字符串显示表单

时间:2014-10-06 13:01:41

标签: mysql sql vb.net forms boolean

如何在显示表单之前获取所有消息,并逐个显示此表单?

首先,如果“客户”已经签出或者客户的预订已经过期,我有一个程序可以获得一个条目。使用这种方法,我将获得他们的交易号码和客户编号,将他们的信息放在一个表格中并显示它。请注意,我有一个不同的表格用于EXPIRED RESERVATION和CHECK OUT

有人可以检查我的程序吗?这是我的代码,如果他/她的签到已经过期,将获得客户。

Public Sub computeRemainingDaysForCheckedIns()

    Dim computedDays As Integer
    Dim dateNow As Date = Date.Now.ToString("yyyy-MM-dd")

    Try
        mysqlconn = New MySqlConnection(con)
        mysqlconn.Open()
        query = "select TransactionNumber, ClientNumber, DATEDIFF(dateout,curdate()) as 'ComputedDays' from dbo_transactions where ClientStatus = 'Checked In'"
        cmd = New MySqlCommand(query, mysqlconn)
        rd = cmd.ExecuteReader
        If rd.HasRows Then
            'hasRows ibig sabhin mayLAMAN ung table
            While rd.Read
                computedDays = rd.GetString("ComputedDays")
                'Console.WriteLine(computedDays)
                If computedDays > 0 Then
                    getTransactionNumber = ""
                    getClientNumber = ""
                ElseIf computedDays < 0 Then

                    getTransactionNumber = rd.GetString("TransactionNumber")
                    getClientNumber = rd.GetString("ClientNumber")

                    iTitle = "CHECK OUT CLIENT."
                    iMessage.AppendLine("* Client: " & getClientNumber & ", Transaction: " & getTransactionNumber & " *")
                    isCNotifShowed = True
                End If

            End While
            'notificationFormC.Show()
        Else
            'no data
        End If
        mysqlconn.Close()
    Catch ex As Exception
        isCNotifShowed = False
        MsgBox("Something Went Wrong!" & vbNewLine &
               ex.Message, MsgBoxStyle.Exclamation)
    Finally
        mysqlconn.Dispose()
    End Try
End Sub

Public Sub computeRemainingDaysForReservations()

    Dim computedDays As Integer

    Try
        mysqlconn = New MySqlConnection(con)
        mysqlconn.Open()
        query = "Select TransactionNumber, ClientNumber, DATEDIFF(DateIn, CURDATE()) as 'ComputedDays' from dbo_transactions where ClientStatus = 'Reserved'"
        cmd = New MySqlCommand(query, mysqlconn)
        rd = cmd.ExecuteReader
        If rd.HasRows Then
            'hasRows ibig sabhin mayLAMAN ung table
            While rd.Read
                computedDays = rd.GetString("ComputedDays")
                'Console.WriteLine(computedDays)
                If computedDays > 0 Then
                    getTransactionNumber = ""
                    getClientNumber = ""
                ElseIf computedDays <= 0 Then
                    getTransactionNumber = rd.GetString("TransactionNumber")
                    getClientNumber = rd.GetString("ClientNumber")

                    iiTitle = "RESERVATION IS ALREADY EXPIRED."
                    iiMessage.AppendLine("* " & getClientNumber & ", Transaction: " & getTransactionNumber & " *")
                    isRNotifShowed = True
                End If

            End While
        Else
            'no data
        End If
        rd.Close()
        mysqlconn.Close()
    Catch ex As Exception
        isRNotifShowed = False
        MsgBox("Something Went Wrong!" & vbNewLine &
               ex.Message, MsgBoxStyle.Exclamation)
    Finally
        mysqlconn.Dispose()
    End Try
End Sub

然后使用表单

显示客户端
Private Sub RepeatProcess()
    computeRemainingDaysForReservations()
    computeRemainingDaysForCheckedIns()

    If iMessage.Length <> 0 Then

    ElseIf iiMessage.Length <> 0 Then

    End If

    'If isCNotifShowed = True Then
    'notificationFormC.Show()
    'ElseIf isRNotifShowed = True Then
    ' notificationFormR.Show()
    'Else
    'End If

End Sub

Private Sub timerTask_Tick_1(sender As Object, e As EventArgs) Handles timerTask.Tick
    tCount += 1
    If tCount = tSecs Then
        Call RepeatProcess()
        tCount = 0                     'reset
    End If
End Sub

1 个答案:

答案 0 :(得分:1)

也许这不是最好的方法。打开一个新表格/弹出窗口/任何过期的预订都可能会占用您的所有资源。

我建议你展示一个GridViewDataGridListView或类似的(我们仍然在VS2008中凿出石碑,所以我不确定是什么极端的技术有更新的版本!)。可以编写后面的代码以突出显示不同颜色的问题记录,以便它们更明显。

要做到这一点,您只需要在表单上创建一个带有相关查询的数据源,然后在适当的数据启用网格中显示结果。