0

他のクエリを機能させることはできますが、このクエリを Visual Studio で機能させることはできません ConnectionString がこの関数の外部で宣言されていると仮定します

public DataTable GetDtSearch(文字列検索名) {

        string sql = "SELECT * FROM table WHERE (file_name LIKE @searchname)";


        DataTable dt = new DataTable();

        using (MySqlConnection con = new MySqlConnection(ConnectionString))
        {

            try
            {
                con.Open();
            }
            catch { return dt; }

            using (MySqlCommand cmd = new MySqlCommand(sql, con))
            {
                cmd.Parameters.Add(@searchname,"%"+ searchname+"%");
                using (MySqlDataAdapter adp = new MySqlDataAdapter(cmd))
                {
                    try
                    {
                        adp.Fill(dt);
                    }
                    catch
                    {

                    }

                }

            }
            con.Close();
        }




        return dt;
    }
4

2 に答える 2

2
       cmd.Parameters.Add("@searchname","%"+ searchname+"%");

パラメーター名 (最初の引数) を引用符で囲みます。

PS私はあなたの反対票を投じた質問に賛成票を投じましたが、反対票を投じた人はそうするのが正しかったです-何が起こっているのかを言う必要があります-エラーメッセージ、または「結果が返されません」または「このクエリを取得できません」よりも正確なもの働く」。

PPS また、Add(string, object) 署名は非推奨になっているため、 AddWithValueメソッドを使用してください。

于 2013-02-20T12:40:17.967 に答える
0

検索パラメーターを引用符で囲みます。-
SELECT * FROM table WHERE (file_name LIKE '@searchname')

于 2013-02-20T12:28:32.683 に答える