2016-05-07 9 views
0

1つのテーブルで2つの値を検索するためにC#フォームを作成しました。私のテーブルは、文字列IDと文字列cust_nameを持つcustomersと呼ばれています。SQL Serverで2つの値の検索クエリを作成する方法

は、私はどちらかIDまたはcust_nameで発見されたテキストボックスのテキストを検索する検索クエリを作成する必要があるので、私はtextChangedは、このメソッドを送信し、このSQLクエリを作っ

search(txt_search.Text); 
SqlDataAdapter searchAdapter; 

private void search(string id) 
{ 
    searchAdapter = new SqlDataAdapter(@"Select * from Customers 
     where cust_ID like '%' '" + id + "' '%' or 
      cust_name like '%' '" + id + "' '%'", User.connection); 
} 

は私がそれを右に作る助けてください..

+0

エラーは何ですか? –

+1

** U ** n R 3 adA * 8l * e – Amit

+0

文は正しいですか? 、私は(または)SQLステートメントで使用することができます –

答えて

2

いつものように、パラメータ化されたクエリを使用します。エラーは、クエリを行う文字列部分の連結にあります。そして、何かがそうではないという共通の状況です。あなたの特定のケースでは、構文を混乱させるいくつかのスペースがあります。とにかくパラメータは、より明確なクエリテキストを可能にし、SQLインジェクションと解析エラーを回避します。

private void search(string id) 
{ 
    string cmdText = @"Select * 
         from Customers 
         where cust_ID like @id or 
          cust_name like @id"; 
    searchAdapter = new SqlDataAdapter(cmdText, User.connection); 
    searchAdapter.SelectCommand.Parameters.Add("@id", SqlDbType.NVarChar).Value = "%" + id + "%"; 

    ... remainder of the code that uses the searchAdapter.... 
} 
+0

あまりにもありがとう..それは魔法のように働いた。^ __ ^ –

関連する問題