gpt4 book ai didi

vb.net -> =无法正常工作

转载 作者:行者123 更新时间:2023-12-03 18:45:01 24 4
gpt4 key购买 nike

在这行代码中:

sql = "Select CustomerNumber,Surname,Villa,
Village,Suburb,BookedinDate,BookedInOrder
FROM Customers WHERE
(BookedInDate >= @StartPeriod And BookedInDate <= @EndPeriod )"


哪里

cmd.Parameters.AddWithValue("@StartPeriod", StartPeriod)
cmd.Parameters.AddWithValue("@EndPeriod", EndPeriod)




StartPeriod = "01-09-2017"
EndPeriod = "01-15-2017"


数据表包含BookedInDAte值为“ 01-09-2017”的记录,但未在上述Sqlite字符串中提取。

任何帮助,将不胜感激
布拉德

最佳答案

这是usual problem with AddWithValue。您将一些字符串传递给它,并期望数据库引擎将它们转换为日期时间值。
从一开始就注定了这一点。 AddWithValue构建一个参数,该数据类型的数据类型与传递的值相同,并且字符串参数对于在DateTime列上的搜索无效。

你应该用

cmd.Parameters.Add("@StartPeriod", DbType.Date).Value = DateTime.Parse(StartPeriod)
cmd.Parameters.Add("@EndPeriod", DbType.Date).Value = DateTime.Parse(EndPeriod)


当然,仅当您的表列的类型为DateTime时,此方法才能正常工作。如果它们只是字符串,那么我们将面临一个完全不同的问题。您不应该将日期时间值存储在字符串列中。您使用正确的数据类型,否则您将永远无法针对这些列编写正确的查询。

关于vb.net -> =无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41406765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com