gpt4 book ai didi

c# - 在 C# for mysql 中使用 Checkbox 加入索引进行搜索

转载 作者:行者123 更新时间:2023-11-29 21:00:24 26 4
gpt4 key购买 nike

我使用 c# linq 和 mysql(代码如下)制作了一个简单的数据库搜索程序,效果非常好。该数据库有 16 列,其中 6 列用于地址(州、城市、区、街道、建筑物名称、门号)。我的代码现在除了与地址相关的任何内容之外还搜索索引的许多变体,如下所示,ID 是最重要的值。我的教授是什么?想要的方法是使用 ID 和地址值进行搜索,以查找可能来自同一地点的人。想要的方式是有一个复选框。

如果单击复选框并输入 ID,则返回的搜索结果中每个人都具有相同的地址,如果没有其他人具有相同的地址,则仅返回输入的 ID 值。此操作不需要其余索引值。我对整个等式的问题是我找不到任何适用的方法来连接 6 个地址列并使用 ID 和整个地址进行双重搜索。我必须使用 linq,因为它是必需的。

代码示例;

var query = from i in sqlcmd.table select i;

if (ID.Text.Length > 0)
{
double id = Convert.ToDouble(ID.Text);
query = query.Where(s => s.ID == id);
}

else
{
if (Name.Text.Length > 0)
{
query = query.Where(s => s.Name == Name.Text);

}
if (Sname.Text.Length > 0)
{
query = query.Where(s => s.Sname == Sname.Text);
}

if (ClassList.Text.Length > 0)
{
query = query.Where(s => s.ClassList == ClassList.Text);
}
}

gridview.DataSource = query.ToList();

P.S:感谢 @juancarlosoropeza 对我提出的一个困惑问题的提醒。

最佳答案

只需在 if 条件中包含检查值即可。

if (chkName.Checked && Name.Text.Length > 0)
{
query = query.Where(s => s.Name == Name.Text);
}

if (chkSName.Checked && Sname.Text.Length > 0)
{
query = query.Where(s => s.Sname == Sname.Text);
}

if (chkClassList.Checked && ClassList.Text.Length > 0)
{
query = query.Where(s => s.ClassList == ClassList.Text);
}

关于c# - 在 C# for mysql 中使用 Checkbox 加入索引进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37279580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com