简单的搜索程序不返回结果c#

本文关键字:返回 结果 程序 搜索 简单 | 更新日期: 2023-09-27 17:54:18

我正在尝试做一个简单的搜索程序,允许用户搜索员工的姓名并单击搜索按钮,该按钮将返回员工详细信息。

在我的表单中我有:

    private void buttonSearch_Click(object sender, EventArgs e)
    {
        //set datasource
        dataGridView1.DataSource = controller_emp.search_employee(textBoxSearch.Text);
    }

Controller_Employee:

    public Model_Employee search_employee(string criteria)
    {
        return db.search_employee(criteria);
    }

Model_DB_Employee:

    public Model_Employee search_employee(string criteria)
    {
        Model_Employee result = new Model_Employee();
        for (int i = 0; i < rows.Count; i++)
        {
            if ((string)empTab.Rows[i]["emp_fname"] == criteria)
            {
                result.setId(empTab.Rows[i]["emp_id"].ToString());
                result.setFname(empTab.Rows[i]["emp_fname"].ToString());
                result.setLname(empTab.Rows[i]["emp_lname"].ToString());
                result.setUsername(empTab.Rows[i]["username"].ToString());
                result.setPassword(empTab.Rows[i]["passwd"].ToString());
                result.setJobrole(empTab.Rows[i]["job_role"].ToString());
                result.setContact(empTab.Rows[i]["contact"].ToString());
                result.setEmail(empTab.Rows[i]["email"].ToString());
            }
        }
        return result;
    }

for回路有什么问题吗?即使满足criteria,它也继续循环

简单的搜索程序不返回结果c#

使用break;

for (int i = 0; i < rows.Count; i++)
{
    if ((string)empTab.Rows[i]["emp_fname"] == criteria)
    {
        //result stuff
        break;
    }
}
return result;

找到雇员时没有退出循环。您可以:1. 在用信息填充结果之后立即使用break2. 在用

信息填充结果之后立即复制return result;

我喜欢最佳选择1:)