2017-03-13 4 views
0

出席監視システムのフィルタ検索を作成しました。従業員名で検索しましたが、他のフィールドでは検索しません。LIKEキーワードを使用しますそれをやる方法は分かりません。ここに私のコードは動作が正確にあなたが書いたクエリと一致し、あなたの要件に合致するようにクエリを書き直す必要がありますC#フィルタ検索1つのテキストボックスを使用して複数の行を持つデータテーブル

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    connection.Open(); 
    OleDbCommand command = new OleDbCommand(); 
    command.Connection = connection; 
    string query = "SELECT * FROM tblEmployee WHERE [Firstname] like @1"; 
    command.parameters.AddWithValue("@1",textBox1.Text); 
    command.CommandText = query; 
    OleDbDataAdapter da = new OleDbDataAdapter(command); 
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    dataGridView1.DataSource = dt; 
    dataGridView1.Update(); 
    dataGridView1.Refresh(); 
    connection.Close(); 
} 
+0

このコードで何が問題になっていますか?何か誤りがありますか? –

+0

DataTableまたはデータベースをフィルタリングしますか? –

+0

command.parameters.AddWithValue( "@ 1"、string.Format( "{0}%"、textBox1.Text));それはあなたが欲しいものですか? –

答えて

0

です:

string query = "SELECT * FROM tblEmployee WHERE [Firstname] like '%' + @1 + '%' OR [OtherColumn] LIKE '%' + @1 + '%'"; 

はところで、私はそれのように動作させるために、わずかにあなたのLIKEを変更しました'それはXXXを含んでいます'。

+0

すべてのお手伝いをしてくれてありがとう。 –

関連する問題