-5

textboxこれの目的は、データを読み込んで、人の名前、番号などを使用して検索し、名前を入力したい場合に、 ボタンをクリックして空のデータ グリッドビューに直接追加することです。

 string box = txtSearch.Text;
            string table = "reservations";
            string query = "SELECT FROM reservations WHERE Client like '%" + box;
            connection.Open();
            MySqlDataAdapter da_res = null;
            DataSet ds_res = null;
            ds_res = new DataSet();
            da_res = new MySqlDataAdapter(query, connection);
            da_res.Fill(ds_res, table);

            dgvUser.DataSource = ds_res.Tables[table];

これが実際のコードです。これまでに1つだけ試した6つの列があります。エラーが発生する da_res.Fill(ds_res, table);

これはエラーの詳細です:

SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。'FROM 予約 WHERE クライアントのように '%name client' at line 1" の近くで使用してください。

MySqlConnection connection = null;
            string hostname = "localhost";
            string database = "aparece_hoteldb";
            string username = "root";
            string password = "";
            connection = new MySqlConnection("host=" + hostname +
                                            ";database=" + database +
                                            ";username=" + username +
                                            ";password=" + password + ";");
4

1 に答える 1

2

これを変更します:

string query = "SELECT FROM reservations WHERE Client like '%" + box;

これに:

string query = "SELECT * FROM reservations WHERE Client like '%" + box +"%'";

列を選択していません。

そして、あなたが尋ねたように、ここにあなたのための実例があります(あなたは本当にグーグルの使い方を学ぶ必要があります)...

private void MainClass_Load(object sender, System.EventArgs e)
{
    string connectionString = @"Driver={MySQL};SERVER=localhost;DATABASE=NorthwindMySQL;";

    OdbcConnection conn= new OdbcConnection(connectionString);
    conn.Open();

    OdbcDataAdapter da = new OdbcDataAdapter ("SELECT CustomerID, ContactName, ContactTitle FROM Customers", conn);            

    DataSet ds = new DataSet("Cust");     
    da.Fill(ds, "Customers");

    dataGrid1.DataSource = ds.DefaultViewManager;
    conn.Close();
}
于 2013-03-14T04:36:41.960 に答える