-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];

这是代码,实际上我有 6 个列,到目前为止我只尝试了一个。错误发生在 da_res.Fill(ds_res, table);

这是错误的详细信息:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“FROM reservations WHERE Client like '%name client'附近使用正确的语法”

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 回答