Mysql 检查读卡器是否有数据不工作
我使用MysqlDataReader从mysql数据库中读取数据,但是,每当我以不同的方式编码它时,它仍然错误地读取数据。 这个程序是调度系统,我使用datetimepicker进行时间和日期输入,然后用户将单击按钮检查它是否已经存在于数据库/不可用的调度中,否则它将告诉用户该调度可用Mysql 检查读卡器是否有数据不工作,mysql,vb.net,Mysql,Vb.net,我使用MysqlDataReader从mysql数据库中读取数据,但是,每当我以不同的方式编码它时,它仍然错误地读取数据。 这个程序是调度系统,我使用datetimepicker进行时间和日期输入,然后用户将单击按钮检查它是否已经存在于数据库/不可用的调度中,否则它将告诉用户该调度可用 Dim reader1, reader2 As MySqlDataReader MySqlConn.Open() Dim query2, query1 As String Dim cmd2 As New M
Dim reader1, reader2 As MySqlDataReader
MySqlConn.Open()
Dim query2, query1 As String
Dim cmd2 As New MySqlCommand
'TIME
query1 = "SELECT * FROM schedule WHERE Date ='" & dtpDate.Text & "'"
cmd = New MySqlCommand(query1, MySqlConn)
reader1 = cmd.ExecuteReader
reader1.Close()
query2 = "SELECT * FROM schedule WHERE Time ='" & dtpTime.Text & "'"
cmd2 = New MySqlCommand(query2, MySqlConn)
reader2 = cmd2.ExecuteReader
If reader1.HasRows And reader2.HasRows Then
MsgBox("A Patient already set an appointment for this schedule! Please set another Time & Date.", MsgBoxStyle.Critical, "Schedule exists")
dtpTime.Select()
ElseIf reader1.HasRows = 0 And reader2.HasRows = 0 Then
MsgBox("Schedule is available!", MsgBoxStyle.Information, "Schedule")
ElseIf reader1.HasRows = 0 And reader2.HasRows Then
MsgBox("Schedule is available!", MsgBoxStyle.Information, "Schedule")
ElseIf reader1.HasRows And reader2.HasRows = 0 Then
MsgBox("Schedule is available!", MsgBoxStyle.Information, "Schedule")
End If
MySqlConn.Close()
End Sub
Uou将在检查条件之前关闭读取器1。“读取”读卡器后,应关闭读卡器在一个查询中检查两个字段。使用参数可避免sql注入攻击
query1 = "SELECT * FROM schedule WHERE [Date] = @date And [Time] = @time"
cmd.Parameters.AddWithValue("date", dtpDate.Text)
cmd.Parameters.AddWithValue("time", dtpTime.Text)
但是,当我删除reader1.close时,reader2=cmd2.ExecuteReader出现错误,它说“已经有一个打开的DataReader与此连接关联,必须先关闭”。我该怎么办?然后使用一个时态变量存储要从第一个读卡器计算的值,然后关闭它。您只需要一个查询。如果日期和时间字段分开,则将它们合并。在给出代码之后,下一步是什么?我应该在iF-ELSE语句中使用什么条件?如果它返回某个值,那么似乎有一个约会,对吗?