我正在构建一个应用程序,允许用户根据一组标准选择他们选择的汽车。
这些标准是:
汽车状况(新、旧、已售)
汽车年份(从 1900 年到 2013 年,当它们进入市场时,我们将包括 2014 年)
汽车价格(0 - 10,000 美元,一直到 20,000 美元以上)
汽车类型(敞篷车、运动型多功能车、轿车等)
汽车品牌(讴歌、雷克萨斯、丰田、马自达等)
车型(传奇、凯美瑞、卡罗拉等)
以上所有标准都是从数据库填充的下拉列表控件。
到目前为止,我能够为 Year、Make 和 Model 创建级联下拉列表控件。
用户从ddlYear下拉列表中选择汽车年份,例如 1987 年,所有为 1987 年构建的 Makes 都会自动填充到ddlMake下拉列表中。
然后,当用户选择 Make 时,该品牌和该年份的模型会自动填充到ddlModel下拉列表控件中。
这部分工作正常。
我真正需要你的帮助是如何构建允许用户从 ddlCondition 下拉列表中选择 Condition、从ddlYear下拉列表中选择年份、从ddlPrice下拉列表中选择价格范围、从ddlType下拉列表中选择汽车类型、从ddlMake中选择汽车的代码下拉列表,最后,来自ddlModel下拉列表的模型,然后单击“搜索”按钮以显示结果。
' SQL Query (base)
Dim sql = "SELECT * FROM YourVehiclesTable WHERE "
'Begin checking our values and appending to our clauses
'If Condition has a value
If Not String.IsNullOrEmpty(ddlCondition.SelectedValue) Then
'Append to query
sql += String.Format(" Condition = '{0}' AND", ddlCondition.SelectedValue)
End If
'Check Year
If Not String.IsNullOrEmpty(ddlYear.SelectedValue) Then
'Append to query
sql += String.Format(" Year = '{0}' AND", ddlYear.SelectedValue)
End If
'Check Price
If Not String.IsNullOrEmpty(ddlPrice.SelectedValue) Then
'Append to query
sql += String.Format(" Price <= '{0}' AND", ddlPrice.SelectedValue)
End If
'continue with rest
'When we are finished make sure to strip off any remaining "AND" and "WHERE"s that may be present at the end
sql = sql.TrimEnd(" WHERE ").TrimEnd("AND")
我不太确定如何将它们放在一起,以便用户选择条件、年份、价格、车辆类型、品牌、型号,然后单击搜索按钮以显示结果。
有没有比我使用显示代码的方法更好的方法?
预先感谢您的大力协助。
请看截图。