L'obtention de la requête pour l'utiliser avec le paramètre et “like”

J'ai vu beaucoup de questions concernant l'utilisation de paramètres avec des requêtes Sql et des "j'aime", mais j'ai essayé tous les moyens que j'ai vu de ce code et ne peut toujours pas obtenir ma requête à donner des résultats. Si je mets une valeur dans la requête elle-même, il fonctionne très bien. Quand je lance la première requête énumérés je reçois le message d'erreur "Doit déclarer la variable scalaire "@de Recherche" mais je croyais que je l'ai fait avec le cmd.Les paramètres.AddWithValue déclaration. N'importe qui peut voir ce que je fais de mal? Toute aide est appréciée.

            //Declare the connection object
        SqlConnection Conn = new SqlConnection();
        Conn.ConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;

        //Connect to the db
        Conn.Open();

        //Define query

        //This query doesn't work
        string sql = "SELECT CustomerID, LastName, FirstName, Email, Password, Address1, Address2, City, State, Zip, Phone, Fax FROM Customer WHERE (State LIKE '%' + @Search + '%')";

        //This query doesn't work either
        string sql = "SELECT CustomerID, LastName, FirstName, Email, Password, Address1, Address2, City, State, Zip, Phone, Fax FROM Customer WHERE State LIKE @Search";

        //This query works
        string sql = "SELECT CustomerID, LastName, FirstName, Email, Password, Address1, Address2, City, State, Zip, Phone, Fax FROM Customer WHERE State LIKE 'MI'";

        //Declare the Command
        SqlCommand cmd = new SqlCommand(sql, Conn);

        //Add the parameters needed for the SQL query
        cmd.Parameters.AddWithValue("@Search", "%" + txtSearch.Text + "%");           

        //Declare a SQL Adapter
        SqlDataAdapter da = new SqlDataAdapter(sql, Conn);

        //Declare a DataTable
        DataTable dt = new DataTable();

        //Populate the DataTable
        da.Fill(dt);

        //Bind the Listview
        lv.DataSource = dt;
        lv.DataBind();

        dt.Dispose();
        da.Dispose();
        Conn.Close();
InformationsquelleAutor user1576304 | 2012-12-01