如何使用c#将mysql中的表名列表到组合框中

本文关键字:列表 组合 何使用 mysql | 更新日期: 2023-09-27 18:05:52

我想把mysql数据库中的表名列到combobox winform c#中。我在phpmyadmin中使用这个SQL查询,它返回我想要的结果。

SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%nh%'

然后我试着用c#写函数。这是我的代码

void get_table()
    {
        string myConnection = "Server=localhost;Database=sctv_data;Port=3306;User ID=root;Password=;Charset=utf8";
        string query = "SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%nh%'";
        conDatabase = new MySqlConnection(myConnection);
        MySqlCommand cmdDataBase = new MySqlCommand(query, conDatabase);
        MySqlDataReader myReader;
        try
        {
            conDatabase.Open();
            myReader = cmdDataBase.ExecuteReader();
            cb_data_name.Items.Clear();
            if (myReader.HasRows == true)
            {
                while (myReader.Read())
                {
                    cb_chon.Items.Add((string)myReader[0]);
                }
            }
        }
        catch
        {
        } 
    }

但是它失败了;我认为它有问题,但我不知道如何解决。

如何使用c#将mysql中的表名列表到组合框中

使用SqlDataAdapter

void get_table()
{
    string myConnection = "Server=localhost;Database=sctv_data;Port=3306;User ID=root;Password=;Charset=utf8";
    string query = "SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%nh%'";
    conDatabase = new MySqlConnection(myConnection);
    MySqlCommand cmdDataBase = new MySqlCommand(query, conDatabase);
    MySqlDataAdapter myAdapter;
    try
    {
        conDatabase.Open();
        myAdapter= new mySqlAdapter(cmdDataBase);
        cb_data_name.Items.Clear();
        DataTable dt=new DataTable();
        mySqlAdapter.Fill(dt);
        cb_data_name.DatSource=dt;
        cb_data_name.DisplayMemeber="table_name";
    }
    catch
    {
    } 
}