将数据数组添加到多个数据库的下拉列表中

本文关键字:数据库 下拉列表 数据 数组 添加 | 更新日期: 2023-09-27 18:20:58

我有一个有趣的问题。我正在编写一个应用程序,它在C:''中搜索遵循相同命名约定的文件夹。找到文件夹后,应用程序需要进入文件夹中的数据库并提取一位数据。该数据应添加到列表框或下拉列表中。以下是我到目前为止所拥有的,它正确地抓取了一个文件夹。。。。但不是所有具有相同命名约定的文件夹。我相信是

profselect.Text = reader[0].ToString();

行,但不确定。

目标是,我有4个不同的文件夹,它们的名称像Rameses-100、Rameses-101等等。每个文件夹都包含自己的Ramdata.mdb。其中mdb是我希望在profselect下拉框中列出的名称。再往前走,用户将能够使用框中列出的名称切换到所选数据集。目前,如果我运行这个,它只会把其中一个文件夹ramdata-info放在盒子里。我想要多一个。

string directory = @"C:'";
        string[] folders = Directory.GetDirectories(directory, "Rameses-*");
        foreach (string foldername in folders)
        {
            var myDataTable = new System.Data.DataTable();
            using (var conection = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" + "data source="+foldername+"''Program''Ramdata.mdb;Jet OLEDB:Database Password=****"))
            {
                conection.Open();
                var query = "Select u_company From t_user";
                var command = new System.Data.OleDb.OleDbCommand(query, conection);
                var reader = command.ExecuteReader();                    
                while (reader.Read())
                    profselect.Text = reader[0].ToString();
                conection.Close();
            }

将数据数组添加到多个数据库的下拉列表中

您的问题还不够清楚,但我们可以说上面的代码是有效的。

您希望在每次预成型此操作时添加结果(我想是这样)
再次假设您使用的是windows窗体
在你的表格上放一个组合框。

然后,在预形成操作时,您需要保留一个列表,列出之前得到的内容,然后将其用作comboBox的dataSource。下面的代码演示了这一点:

 List<string> dataList = new List<string>(); // this line is global not inside a closed scoop
 var myDataTable = new System.Data.DataTable();
 using (var conection = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" + "data source="+foldername+"''Program''Ramdata.mdb;Jet OLEDB:Database Password=****"))
 {
    conection.Open();
    var query = "Select u_company From t_user";
    var command = new System.Data.OleDb.OleDbCommand(query, conection);
    var reader = command.ExecuteReader();                    
    while (reader.Read())
    {
       profselect.Text = reader[0].ToString(); 
       dataList.Add(profselect.Text);
    }
 }
 myComboBox.DataSource = dataList;
 myComboBox.SelectedText = dataList.Last();

就我所能提供的信息而言。