【发布时间】:2013-05-23 11:00:23
【问题描述】:
我的数据库中有一个名为“月”的列。我想做的是在两个月之间过滤表格。这方面的例子是 3 月 - 6 月。我有代码可以工作,但只能按字母顺序工作
string strquery = "select * from tbl_DR_data ";
string strq2 = "where";
if (DropDownList6.SelectedItem.Text != "All" && DropDownList8.SelectedItem.Text != "All") {
string month1 = DropDownList6.SelectedItem.Text.ToString();
string month2 = DropDownList8.SelectedItem.Text.ToString();
strq2 = strq2 + "[Month] BETWEEN'" + month1 + "'AND'" + month2 + "'";
}
当DropDownList6 = March 和DropDownList8 = June 时。网格视图中没有任何内容出现在我绑定但如果交换它们所以 DDL6= June 和 DDL8 = March 它可以工作:S
有没有办法让我可以按照月份的顺序而不是按字母顺序排列月份
【问题讨论】:
-
你的数据库中“月”列的数据类型是什么??
-
这似乎是错误的设计。您应该使用整数来表示月份。
-
@watraplion 是 varchar(25)。我也根本不是创建数据库的人
-
您可以通过使用
CASE WHEN Month='Jan' THEN 1 WHEN Month='Feb' THEN 2 etc.之类的东西来解决这个问题,只要您将月份指定为字符串。请注意,这将是很多打字:-) -
@astander 这就是我现在的想法,因为它会好很多