嗨,我有一个选择和一个文本类型输入。这些控件用于过滤数据网格中的列表。选择控件具有以下选项:LastName、MiddleName、FirstName、Gender、City 和 StudentID。然后我收到了这个查询:
SELECT * FROM Student
WHERE ( LastName LIKE '%' + @LastName + '%' OR @LastName = '' )
AND ( MiddleName LIKE '%' + @MiddleName + '%' OR @MiddleName = '' )
AND ( FirstName LIKE '%' + @FirstName + '%' OR @FirstName = '' )
AND ( Gender LIKE '%' + @Gender + '%' OR @Gender = '' )
AND ( City LIKE '%' + @City + '%' OR @City = '' )
AND ( StudentID LIKE '%' + @StudentID + '%' OR @StudentID = '' )
例如,用户选择名字,然后输入“James”。这可以读作“给我名字是‘詹姆斯’的学生名单。” 在我的控制器中,我认为的唯一方法是使用 If..Else If 或 Switch 条件。是这样的:
string lastName = String.Empty;
string middleName = String.Empty;
and so on..
if(dropdown == "Lastname")
{
lastName = textbox_value;
}
else if(dropdown == "Middlename")
{
middleName = textbox_value;
}
and so on..
然后我有方法将值作为参数传递给我的 sql 查询。
resultList = GetRecord(lastName, middleName, firstName, gender, city, studentID);
我现在的问题是,有什么比使用 If..Else 和 Switch 更好、最干净、最简单的方法?