Devepress XtraReport 中计算日期和时间参数范围(开始 - 结束)时出错。
尝试填充数据源时出错。抛出以下异常:
尝试执行 SQL 查询“select> 时出错” “OM_发票”。 “OM_发票ID”,“OM_发票”。 “IDNumber”,“OM_Invoice”。 “CallDirection”,“OM_Invoice”。 “来电者姓名”,“OM_发票”。 “手机号”,“OM_发票”。 “CALLDATE”,“OM_Invoice”。 “CALLTIME”,“OM_Invoice”。 “CALLDURATION”,“OM_Invoice”。 “LAT”、“OM_I...来自“dbo”。“OM_Invoice”“OM_Invoice”
其中 (("OM_Invoice"."CALLDATE" >= @DateRang_Start) 和 ("OM_Invoice"."CALLDATE" <= @DateRang_End) and ("OM_Invoice". "CALLTIME" >= @TimeRang_Start) 和 ("OM_Invoice"."CALLTIME" <= @TimeRang_End))' with parameters: @DateRang_Start(DateTime) = 09/10/2024 12:00:00
@DateRang_End(DateTime) = 09/10/2024 12:00:00 @TimeRang_Start(DateTime) = 09/10/2024 12:00:00 @TimeRang_End(DateTime) = 09/10/2024 12:00:00。
错误:数据类型 time 和 datetime 在大于或等于运算符中不兼容。
代码:
SqlConn.ConnectionString = "Server=ACCOUNTANT;database=xxxxxxx;User ID=xx;Password=xxxxxxxxx"
If SqlConn.State = ConnectionState.Open Then
SqlConn.Close()
End If
SqlConn.Open()
'=================
Dim report As New XtraReport1
'Filter By Date ( Start - End ):
report.Parameters("DateRang_Start").Value = dtDateStart.EditValue
report.Parameters("DateRang_End").Value = dtDateEnd.EditValue
'Filter By Time ( Start - End ) :
report.Parameters("TimeRang_Start").Value = dtTimeStart.EditValue
report.Parameters("TimeRang_End").Value = dtTimeEnd.EditValue
'--------------------------------
DocumentViewer1.DocumentSource = report
report.CreateDocument()
report.RequestParameters = False
'----------------
SqlConn.Close()
Devexpress XtraReport 按日期和时间范围发送查询过滤器
我的源代码下载链接
数据库脚本下载链接
问题在于您正在将日期与时间进行比较。在您的错误消息中可以看到:
(“OM_Invoice”。“CALLTIME”<= @TimeRang_End))'
@TimeRang_End(日期时间) = 09/10/2024 12:00:00
我想不想将
CALLTIME
与09/10/2024 12:00:00
进行比较。 CALLTIME
字段仅是时间,因此请选择包含整个日期和时间的其他字段。您的参数 TimeRang_End
是一个日期时间,可能也应该包含一个时间。