【问题标题】:How to select data from database Mysql and add it on DataGridView?如何从数据库 Mysql 中选择数据并将其添加到 DataGridView?
【发布时间】:2013-03-02 07:43:27
【问题描述】:

这样做的目的是,如果您已经加载了数据,并且您想使用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 + ";");

【问题讨论】:

  • 如果我完成了这件事,那么我的程序就完全完成了,任何帮助对我来说都是一种极大的解脱。
  • 你自己尝试过什么吗?
  • 我已经有代码但我一无所知
  • 我的意思是它没有用。
  • 错误信息是什么?!

标签: c# mysql database select


【解决方案1】:

改变这个:

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();
}

【讨论】:

  • 顺便说一句,在您的代码中,连接字符串在哪里?它是班级的成员吗?
  • 刚刚注意到您在 SQL 查询中还缺少一个结束 ('),请参阅我的编辑。
  • 无论如何谢谢你的例子!
  • 哇,谢谢您的帮助,我解决了问题:D。我做到了!
猜你喜欢
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-28
  • 1970-01-01
  • 2011-04-24
  • 1970-01-01
相关资源
最近更新 更多