Я хочу показать все таблицы с именами sql в выпадающем списке - PullRequest
0 голосов
/ 25 марта 2020

Я хочу показать все имена таблиц базы данных MySQL в комбинированном списке, а в другом комбинированном списке выбранных таблиц есть строки из первого комбинированного списка.

    string cmdstr = "select * from sys.tables";
    string conStr = @"Data Source=DESKTOP-63RVRDI\IBRAHIMDATABASE;Initial Catalog=Sample_DataBase;Integrated Security=True"
    DataTable dt = new DataTable();

    SqlDataAdapter sda = new SqlDataAdapter(cmdstr,conStr);

    try
    {
        sda.Fill(dt);

        foreach (DataTables tbl in dt.DataTables)
        {
            comboBox1.Items.Add(tbl[1]);
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }

1 Ответ

0 голосов
/ 25 марта 2020

Я предполагаю, что вы хотите отобразить столбцы таблицы во втором поле со списком. Если это так, попробуйте следующий код.

Загрузка таблиц

        string cmdstr = "SELECT * FROM sys.Tables";
        DataTable dt = new DataTable();
        SqlDataAdapter sda = new SqlDataAdapter(cmdstr, connectionString);
        sda.Fill(dt);

        foreach (DataRow row in dt.Rows)
        {
            cboTables.Items.Add(row["name"]);
        }

Теперь добавьте событие SelectedIndexChanged для комбинированного списка таблиц и добавьте следующий код.

        cboColumns.Items.Clear();
        string cmdstr = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + cboTables.Text + "' ORDER BY ORDINAL_POSITION";
        DataTable dt = new DataTable();
        SqlDataAdapter sda = new SqlDataAdapter(cmdstr, connectionString);
        sda.Fill(dt);

        foreach (DataRow row in dt.Rows)
        {
            cboColumns.Items.Add(row["COLUMN_NAME"]);
        }
        cboColumns.SelectedIndex = 0;

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...