0

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

在我的表格中,我有:

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

控制器_员工:

    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已经满足,它也会继续循环。

4

2 回答 2

1

采用break;

for (int i = 0; i < rows.Count; i++)
{
    if ((string)empTab.Rows[i]["emp_fname"] == criteria)
    {
        //result stuff
        break;
    }
}
return result;
于 2013-01-19T06:22:29.583 回答
0

找到员工时,您没有退出循环。您可以: 1. 使用信息填充结果后立即使用 2. 使用信息填充结果后立即break复制return result;

我喜欢最好的选项 1 :)

于 2013-01-19T06:11:02.593 回答