我正在尝试做一个简单的搜索程序,允许用户搜索员工的姓名,然后点击搜索按钮,这将返回员工的详细信息。
在我的表格中我有:
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
,它也会继续循环。
答案 0 :(得分:1)
使用break;
for (int i = 0; i < rows.Count; i++)
{
if ((string)empTab.Rows[i]["emp_fname"] == criteria)
{
//result stuff
break;
}
}
return result;
答案 1 :(得分:0)
找到员工时,您没有退出循环。
您可以:
1.在使用信息填充结果后立即使用break
2.在使用信息
return result;
我最喜欢的选项1:)