【发布时间】:2017-02-18 04:44:12
【问题描述】:
我有一个名为 DTR_Table 的表,它有 8 列,即: EmployeeID,Date,MorningTime-In,MorningTime-Out,AfternoonTime-In,AfternoonTime-Out,UnderTime,Time-Rendered。我想阅读“AfternoonTime-In”列。 以下是我的代码。它会读取我的“AfternoonTime-In”字段,但即使该列中没有任何内容,它也会继续显示“Has Rows”。
我该如何解决这个问题?
Connect = New SqlConnection(ConnectionString)
Connect.Open()
Dim Query1 As String = "Select [AfternoonTime-Out] From Table_DTR Where Date = @Date and EmployeeID = @EmpID "
Dim cmd1 As SqlCommand = New SqlCommand(Query1, Connect)
cmd1.Parameters.AddWithValue("@Date", DTRform.datetoday.Text)
cmd1.Parameters.AddWithValue("@EmpID", DTRform.DTRempID.Text)
Using Reader As SqlDataReader = cmd1.ExecuteReader()
If Reader.HasRows Then
MsgBox("Has rows")
Reader.Close()
Else
MsgBox("empty")
End If
End Using`
【问题讨论】:
-
Can we stop using AddWithValue() already? - 您应该在参数中传递一个 DateTime,并且数据库列 [Date] 应该是 DateTime 类型(或类似,not 文本)。
-
我从 Form 中的标签中获取了 @Date 的值。我真的不明白怎么了。
-
您是否查看了返回的行,看看您是否可以看到为什么它返回了您不期望的结果?
-
是的。 AfternoonTime-In 上没有数据。顺便说一句,我已经更新了我的问题。