获取用户从组合框

时间:2018-05-02 12:57:18

标签: c# sql-server winforms visual-studio

我在visual studio中工作以获取SQL服务器中的数据库名称并获取我成功的那些。但是现在我想用一个用户从另一个组合框中选择的数据库的表名来填充组合框。这是我到目前为止尝试运行应用程序时,表格名称的组合框填充了我在查询中提到的数据库。但是,如果他从组合框中选择任何数据库,那么应该依赖于用户表名应该在表名组合框中填充该数据库。因此,用户不得在查询中明确提及数据库的名称。

基本上它应该从组合框中选择所选数据库的名称,并使用受尊重的表名填充另一个组合框。

using (SqlCommand com = new SqlCommand("SELECT TABLE_NAME FROM 
RegistrationFrom.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'", 
con))
{
                using (SqlDataReader reader = com.ExecuteReader())
                {
                    //comboBox1.Items.Clear();
                    while (reader.Read())
                    {
                        comboBox1.Items.Add((string)reader["TABLE_NAME"]);
                    }
                }
            }

2 个答案:

答案 0 :(得分:1)

您需要将 RegistrationFrom 替换为第一个组合框的值。

null

答案 1 :(得分:0)

要获取表格列表,您可以使用以下查询:

SELECT * FROM [master].[sys].[databases]

您需要过滤以删除系统数据库,可能不包括owner_sid 0x01是您的最佳选择。现在你将它转储到你的组合框中。挂钩组合框上的选择更改并运行当前查询,将列表转储到组合框2。