如何验证创建新约会时重叠的时间? 我有一个方法(下面的代码),但我无法验证我选择的时间是否与同一日期的现有日期重叠。
mycn.Close()
mycn.Open()
'Done na
Dim SQLQuery As String
SQLQuery = ""
SQLQuery &= " SELECT StartTime,EndTime,Date FROM tblAppointment" & vbCrLf
SQLQuery &= " WHERE ((cast(Dateadd(minute,+1, @StartTime) AS time) BETWEEN @StartTime AND @EndTime) AND Date=@Date AND PatientID=@PatientID)" & vbCrLf
SQLQuery &= " OR ((cast(Dateadd(minute,-1,@EndTime) AS time) BETWEEN @StartTime AND @EndTime) AND Date=@Date AND PatientID=@PatientID) " & vbCrLf
Dim cmd2 As SqlCommand = New SqlCommand(SQLQuery, mycn)
cmd2.Parameters.AddWithValue("Date", dtpDate.Value.ToString("MM dd, yyyy"))
cmd2.Parameters.AddWithValue("StartTime", cmbStartTime.Text)
cmd2.Parameters.AddWithValue("EndTime", cmbEndTime.Text)
cmd2.Parameters.AddWithValue("PatientID", lblPID.Text)
Dim dr1 As SqlDataReader = cmd2.ExecuteReader
If dr1.HasRows Then
MsgBox("Appointment Existing", MsgBoxStyle.Information, "Appointment")
cmbStartTime.SelectedIndex = -1
cmbEndTime.SelectedIndex = -1
cmbEndTime.Items.Clear()
cmbEndTime.Enabled = False
Exit Sub
Else
'MsgBox("No Record Exist.", MsgBoxStyle.Exclamation, "New Leader Record")
ReservationDataGridView.Rows.Add(lblID.Text, lblPID.Text, lblPatientName.Text, dtpDate.Value.ToString("MM dd, yyyy"), cmbStartTime.Text, cmbEndTime.Text, cmbServiceType.Text, Val(lblPrice.Text))
PatientGridView.Enabled = False
txtPatientSearch.Enabled = False
iD()
Dim total As Integer = 0
For i As Integer = 0 To ReservationDataGridView.RowCount - 1
total += ReservationDataGridView.Rows(i).Cells(7).Value
'Change the number 2 to your column index number (The first column has a 0 index column)
'In this example the column index of Price is 2
txtSubTotal.Text = total
Next
End If
mycn.Close()