【发布时间】:2024-01-20 16:34:01
【问题描述】:
我已经用 MySQL 数据填充了一个数据表,我需要从数据表中检索所有记录,其中“unitassign”为 DBNull 并且“putime”(MySQL 日期时间格式)大于或等于今天的日期(即使时间已经过去)并且“putime”(相同变量)小于或等于 vbdatetime 变量“eighthr”(这将基于关闭日期和时间进行匹配)
Dim eighthr As DateTime
If (DateTime.Now.AddHours(8).ToString("yyyy-MM-dd") = Date.Now.ToString("yyyy-MM-dd")) Then
eighthr = CDate(DateTime.Now.ToString("yyyy-MM-dd"))
Else
eighthr = DateTime.Now.AddHours(8)
End If
resultstr = "unitassign is Null AND (putime >= #" & SchedulerControl1.Start.ToString("yyyy-MM-dd") & "# AND putime <= #" & eighthr & "#)"
Dim result() As DataRow = jboardtable.Select(resultstr)
这没有返回任何结果,尽管我的数据表中确实有应该出现的行
【问题讨论】:
-
eighthr看起来像一个字符串或日期。下定决心。尝试使用Option Strict On -
那么问题是什么?
-
语法运行不正确。 LarsTech - 我现在正在尝试查看它
-
option strict on 并且分析器建议在 else 之前添加一个 Cdate(如图所示)没有其他错误 - 我的问题仍然没有改变
-
您说的是“MySQL 格式”,但重要的是您要了解
DataTable.Select()始终是 dotNet 格式,无论您的数据库如何。