0

mysql のコマンドに問題があります。名前が入力したものに近いすべてのクエリを見つけようとしています。

ファイルを検索しようとしたとき、何時間もグーグルとスタックオーバーフローとユーチューブを調べた後、私はこのコマンドを見つけて作成しました

Regex.IsMatch(lista3, cautClienti, RegexOptions.Singleline | RegexOptions.IgnoreCase)

ここで ->lista3 はファイル内を検索し、CautClienti は何を検索するか、これですべてが表示されました -> たとえば -> Mircea を検索した場合 -> Mircea Mihai、Mircea George、Mircea Emil、Mircea が表示されます。等々。

私の問題は、mysql コマンドで作成しようとすると、少しおかしくなり始めたことです。

MySqlCommand comanda = new MySqlCommand("SELECT * FROM legitimatii2 WHERE Nume_Abonat ='" + textCautare.ToString() + "' ");
        comanda.Connection = conectare; // sa faca conectarea prin nebunia aia mica

        try
        {
            conectare.Open();


        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);

        }

        MySqlDataReader citim = comanda.ExecuteReader();
        while (citim.Read())
        {
            ListViewItem Cautam = new ListViewItem(citim["logid"].ToString());
            Cautam.SubItems.Add(citim["Nume_Abonat"].ToString());
            Cautam.SubItems.Add(citim["Data_Start"].ToString());
            Cautam.SubItems.Add(citim["Data_End"].ToString());
            Cautam.SubItems.Add(citim["aid"].ToString());
            Cautam.SubItems.Add(citim["Nume_Abonat"].ToString()); //aici vine promotia!!!!!! DACA E
            Cautam.SubItems.Add(citim["Pret"].ToString());
            listView1.Items.Add(Cautam);
        }
        conectare.Close();
        comanda.Connection.Close();
        comanda.Dispose();

すべてのタイプの変数を取得するには、mysql コマンドで何を変更する必要がありますか? 正規表現で何かを見ましたが、どういうわけか違うのは "REGEXP" です。

そして、私の 2 番目の質問は、単一の mysql コマンドでより多くのテーブルと値を選択する方法はありますか?

いくつかの手がかりとアイデアを教えていただければ幸いです。

4

1 に答える 1

0

入力した文字で始まるすべての変数を取得するには、SQL コマンドで like と % を使用します。

MySqlCommand comanda = new MySqlCommand("SELECT * FROM legitimatii2 WHERE Nume_Abonat like '" + textCautare.ToString() + "' 
    %");

複数のテーブルをフェッチするには、ストアド プロシージャを記述します。

于 2013-01-02T14:03:56.407 に答える