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);
    }

モデル_DB_従業員:

    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.break結果に情報を入力した直後に使用する 2. 結果に情報を入力したreturn result;直後に をコピーする

私は最良のオプション番号1が好きです:)

于 2013-01-19T06:11:02.593 に答える