【发布时间】:2026-01-01 22:05:02
【问题描述】:
我想让用户搜索特定日期(使用文本框)并让数据库向他们显示该日期内所有输入的信息。我已经编译了查询,如下所示:
SELECT Date, ([Test result]),
FROM [User/Test]
WHERE Date Like '%' + @value + '%'
我在手机上使用了一个数据网格视图,让用户可以直观地看到搜索,并结合了一个文本框和搜索按钮,我在这个按钮后面使用了下面的代码:
this.user_TestTableAdapter.search(this.questionareDataSet1._User_Test, textBox1.Text);
我得到的错误是无法将 varchar 与日期进行比较,我理解。是否需要将日期转换为字符串才能进行搜索?
谢谢。
【问题讨论】:
-
我不会将日期转换为字符串,而是将您的搜索字符串转换为日期。这样您就可以避免格式化日期的所有不同问题。
-
谢谢,关于如何做到这一点的任何建议?我对 c# 很陌生
-
取决于您编译查询的方式以及您使用的数据库类型。但例如,在 MSSQL 服务器中,您的
WHERE子句可能如下所示:WHERE Date = CONVERT(DATE, @value)