峰峦@叠嶂 2023-03-10 18:21 采纳率: 97.6%
浏览 22
已结题

请问,用C#,连接上数据库后,如何将数据库名称显示在combobox下拉列表内;

请问,用C#,连接上数据库后,如何将数据库名称显示在combobox下拉列表内,希望能分享一下代码案例,谢谢;

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-03-10 18:26
    关注

    基于Monster 组和GPT的调写:
    示例:

    using System;
    using System.Data.SqlClient;
    using System.Windows.Forms;
    
    namespace DatabaseList
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                LoadDatabaseList();
            }
    
            private void LoadDatabaseList()
            {
                string connectionString = "Server=yourServerName;Integrated Security=true";
                string query = "SELECT name from sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')";
    
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    try
                    {
                        connection.Open();
                        SqlCommand command = new SqlCommand(query, connection);
                        SqlDataReader reader = command.ExecuteReader();
    
                        while (reader.Read())
                        {
                            string dbName = reader.GetString(0);
                            comboBox1.Items.Add(dbName);
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Error: " + ex.Message);
                    }
                }
            }
        }
    }
    
    
    

    定义了一个 LoadDatabaseList 方法,它连接到 SQL Server 数据库并使用 SELECT 查询语句从 sys.databases 系统表中检索所有数据库的名称。在这里,还使用 WHERE 子句过滤了系统数据库,因为不想在 ComboBox 中显示这些数据库。

    在读取查询结果时,使用 SqlDataReader 对象来读取数据行,并使用 GetString 方法检索第一列中的数据库名称。然后,将数据库名称添加到 ComboBox 的 Items 集合中。

    请注意,你需要根据你的 SQL Server 实例名称和数据库名称更改 connectionString 变量和查询语句中的 yourServerName。你还需要在 Form 中添加一个名为 comboBox1 的 ComboBox 控件。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月10日

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题