【发布时间】:2014-10-15 05:43:08
【问题描述】:
Dim QRY As String = "SELECT t1.Observer_Name,t1.Company, t2.Safety, t2.T_Name, t2.Trainer_Name," _
+ "t2.T_Location, t2.T_Start, t2.T_End,(DateDiff(""d"",T_Start, T_End)+1)*8 as [Man_Hours], t2.Remarks" _
+ " FROM ObserverDetails t1,Training t2,TrainningAttendee t3" _
+ " WHERE t2.T_ID=t3.T_ID AND t3.Ob_ID=t1.Observer_ID And t2.T_Start >= @dt1 AND t2.T_Start <= @dt2 "
cmdSelect.CommandText = QRY
cmdSelect.Parameters.Add("@dt1", OleDb.OleDbType.Char).Value = DateTimePicker1.Text.Trim
cmdSelect.Parameters.Add("@dt2", OleDb.OleDbType.Char).Value = DateTimePicker2.Text.Trim
cmdSelect.CommandType = CommandType.Text
cmdSelect.Connection = reportConnection4
reader1 = cmdSelect.ExecuteReader
If reader1.Read Then
While reader1.Read
Dim row As String() = New String() {" " & reader1.Item("Observer_Name") & " ", "" & reader1.Item("Company") & "", " " & reader1.Item("Safety") & " ", " " & reader1.Item("T_Name") & "", _
"" & reader1.Item("Trainer_Name") & " ", " " & reader1.Item("T_Location") & "", "" & reader1.Item("T_Start") & "", _
"" & reader1.Item("T_End") & " ", "" & reader1.Item("Man_Hours") & " ", "" & reader1.Item("Remarks") & " "}
DataGridView1.Rows.Add(row)
End While
End If
给我错误 在 reader = cmdSelect.ExecuteReader 错误是标准表达式中的数据类型不匹配。
【问题讨论】:
-
相关部分在哪里,即
reader1的声明? -
您似乎将日期评估为文本...这可能不会很好地结束。如果
T_Start是一个日期列,可以解释数据与传递的文本不匹配。 -
是的,它是在 Public Sub 的开头声明的
-
在您的数据库中,字段 T_Start 的数据类型是什么?
-
这个逻辑适用于不同形式的@Plutonix
标签: .net database vb.net types mismatch