假设我想检查组合框的选定值是否与月份,然后过滤我的mysql数据库的表,只显示指定的月份,我怎么可能做到这一点?
这是我到目前为止写的
if (combox.text == "MONTH HERE")
{
string query= "SELECT * from mytable WHERE Month LIKE '%MONTHHERE'"
SqlDataAdapter sda= new SqlDataAdapter (query, con)
DataSet set= new DataSet
sda.Fill(set);
table.DataSource=set
}
以为例,我只想检查并显示月份"January"。按照我上面的代码:
if (combox.text == "January")
{
string query= "SELECT * from mytable WHERE Month LIKE '%January'"
SqlDataAdapter sda= new SqlDataAdapter (query, con)
DataSet set= new DataSet
sda.Fill(set);
table.DataSource=set
}
我的代码是工作的,但我想知道是否有另一种方式来检查,而不是手动编写每个月不同的if语句?谢谢你!
编辑:
if (combox.text == "Month1" || combox.text == "Month2")
{
string query= "SELECT * from mytable WHERE Month LIKE '%Month1%' OR Month Like %Month2%"
SqlDataAdapter sda= new SqlDataAdapter (query, con)
DataSet set= new DataSet
sda.Fill(set);
table.DataSource=set
}
可以将月份作为参数传递给查询,不需要多个if else
当你传递参数时,确保你使用的是参数化查询。
请避免选择*,而是使用别名选择所需的列。