好的,听我说,然后告诉我你对我的问题的看法,任何意见和建议将不胜感激。
我有两个问题:
- 附加在我在数据库表
- 中提取的数据中充当响应时间的"计时器"(数据库表屏幕截图链接将附在底部(。
- 把它放在一个按钮里。假设我有 2 个按钮,当我单击"开始"按钮时,"开始"和"结束"按钮,然后计时器开始运行,当我单击"结束"按钮时,响应计时器和我在数据库中提取的时间数据将变为一个并存储在变量中然后显示。
附加信息, 响应时间是响应服务请求所需的总时间(最佳示例:每/事务(。
这是我的代码:
Imports System.Data.SqlClient
Public Class Form1
Public MysqlConn As New SqlConnection
Dim tTime As Double
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub SButton_Click(sender As Object, e As EventArgs) Handles SButton.Click
tTime = 0.0#
Timer1.Enabled = True
SelectedRow("SELECT * FROM TRANS_QUEUE WHERE Que_No = " & 1 & "")
End Sub
Private Sub RButton_Click(sender As Object, e As EventArgs) Handles RButton.Click
Timer1.Enabled = True
End Sub
Private Sub PButton_Click(sender As Object, e As EventArgs) Handles PButton.Click
Timer1.Enabled = False
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
tTime = tTime + 0.1
Time.Text = "time =" & tTime
End Sub
Public Sub SelectedRow(ByVal SQCommand As String)
MysqlConn.ConnectionString = "server=BOSS;user=sa;password=pass2017;database=DB_CFSys"
MysqlConn.Open()
Dim SQCmd As New SqlCommand(SQCommand, MysqlConn)
Dim SQDr As SqlDataReader
SQDr = SQCmd.ExecuteReader()
SQDr.Read()
If SQDr.HasRows Then
MsgBox(SQDr.Item("Time_Arrive").ToString)
End If
MysqlConn.Close()
End Sub
数据库表截图
无论如何,由于Alex Essilfie在另一篇文章中的回答提供的提示,我解决了它 创建一个简单的计时器来计算秒,分钟和小时.
所以这是我的答案:
Private Sub SButton_Click(sender As Object, e As EventArgs) Handles SButton.Click
tTime = 0.0#
Timer1.Enabled = True
End Sub
Private Sub RButton_Click(sender As Object, e As EventArgs) Handles RButton.Click
Timer1.Enabled = True
End Sub
Private Sub PButton_Click(sender As Object, e As EventArgs) Handles PButton.Click
Timer1.Enabled = False
'MsgBox(GetTime(tTime))
SelectedRow("SELECT * FROM TRANS_QUEUE WHERE Que_No = " & 1 & "")
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
tTime = tTime + 0.1
Time.Text = "time =" & GetTime(tTime)
End Sub
Public Sub SelectedRow(ByVal SQCommand As String)
MysqlConn.ConnectionString = "server=BOSS;user=sa;password=pass2017;database=DB_CFSys"
MysqlConn.Open()
Dim SQCmd As New SqlCommand(SQCommand, MysqlConn)
Dim SQDr As SqlDataReader
SQDr = SQCmd.ExecuteReader()
SQDr.Read()
If SQDr.HasRows Then
'MsgBox(SQDr.Item("Time_Arrive").ToString)
t = TimeSpan.Parse(SQDr.Item("Time_Arrive").ToString)
t = t + TimeSpan.Parse(GetTime(tTime))
MsgBox(t.ToString)
End If
MysqlConn.Close()
End Sub
Public Function GetTime(Time As Integer) As String
Dim Hrs As Integer 'number of hours '
Dim Min As Integer 'number of Minutes '
Dim Sec As Integer 'number of Sec '
'Seconds'
Sec = Time Mod 60
'Minutes'
Min = ((Time - Sec) / 60) Mod 60
'Hours'
Hrs = ((Time - (Sec + (Min * 60))) / 3600) Mod 60
Return Format(Hrs, "00") & ":" & Format(Min, "00") & ":" & Format(Sec, "00")
End Function