mysql - 如何选择超过 4 个条件的记录

标签 mysql vb.net select

根据显示的条件选择记录

enter image description here

除了使用许多 if else 语句之外,有什么方法可以根据此标准从 MySQL 中选择记录。 其实我的想法如下

if CurrentLevel.SelectedItem <> Nothing AND Programme.SelectedItem = Nothing AND Gender.SelectedItem = Nothing Then

myconnection.Open()
Dim SelCmd as SqlCommand = New SqlCommand("Select * From StudentsList Where CurrentLevel = '"& CurrentLevel.SelectedItem &"'",myconnection)

我必须为所有可能的结果而这样做。 这使得代码非常冗长且写起来很烦人。

有没有更短的方法来执行此搜索,因为我将使用近 16 个条件执行另一次搜索。

最佳答案

这个问题对我来说并不完全清楚。您不需要为所有条件添加新的 if 语句。您可以通过修改 SQL 查询本身来实现此目的。 SQL 的主要目的之一是获取符合特定条件的数据。

SELECT * FROM StudentsList WHERE `CurrentLevel` = "level" AND `gender` = "male" AND `programme` = "something"

上面的 SQL 查询应该让您有一个基本的了解。它将选择当前级别为级别、性别为男性、程序为仅的行,其余的将被忽略。

编辑:

我不懂VB。这是一个快速的 C# 示例,它将帮助您理解其背后的基本逻辑。

string sqlQuery = "SELECT * FROM StudentsList ";
if(currentLevelDropDown.SelectedItem.Text != "") 
{
    sqlQuery + "WHERE CurrentLevel = " + currentLevelDropDown.SelectedItem.Text;
}

if(ProgrammeDropDown.SelectedItem.Text != "")
{
    sqlQuery + " AND WHERE programme = " + ProgrammeDropDown.SelectedItem.Text;
}

//Final Query becomes: SELECT * FROM StudentsList WHERE CurrentLevel = userSelectedOption AND WHERE programme = userSelectedProgrammeOption

//Finally execute the sqlQuery

关于mysql - 如何选择超过 4 个条件的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37754838/

相关文章:

mysql - 在不同的列中显示一列的mysql结果

php - 在 PHP 中使用 json_encode 将 UTF-8 单词编码为 JSON 格式时显示未知字符

sql - 如何按字母顺序对 SQL 查询进行排序但忽略前导数字?

mysql - 任何人都可以简化这个mysql select的where条件吗

vb.net - 使用 Interop Excel.Application 从 excel 文件中读取 "date"

asp.net - 如何在 ASP.NET 中加载图像服务器端?

sql - 每天特定比萨饼地点的平均比萨饼订单-SQL

jquery - 根据之前的选择禁用选项

php - 关于EDT和时差的一些问题

php - 从 PHP HTML 表提交表单