string DBconnString = 
  "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Para1 + @"\Labo_be.mdb;";

var DBConn = new OleDbConnection(DBconnString);
DBConn.Open();

string S_Query = "Select * FROM DISEGNI";
cmd1 = new OleDbCommand(S_Query, DBConn);
DR = cmd1.ExecuteReader();

while (DR.Read())
{
    var sName = DR.GetString(DR.GetOrdinal("PARTNBR"));
    Combo_Dis.Items.Add(sName);
}

如何用async await retrofit 这款潜艇? 这个子集加载了一个超过35000个抽奖号码的组合,所以应用程序是very very slow.

推荐答案

如果你使用WinForms,那么它是loop中的Combo_Dis.Items.Add,速度很慢(在我的 workstation 上大约是5 seconds):当你添加一个新项时,组合框应该做一些计算(下拉大小),重绘本身等等.你可以使用BeginUpdate() .. EndUpdate()来做这些额外的工作,只需once:

using var DBConn = new OleDbConnection(
  $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={Path.Combine(Para1, Labo_be.mdb)};"); 

DBConn.Open();

string S_Query = 
  @"SELECT PARTNBR 
      FROM DISEGNI";

using var cmd1 = new OleDbCommand(S_Query, DBConn);

using var dr = cmd1.ExecuteReader();

Combo_Dis.BeginUpdate();

try {
  while (dr.Read()) {
    Combo_Dis.Items.Add(dr[0]);
  }
}
finally {
  Combo_Dis.EndUpdate();
}

Csharp相关问答推荐

在实际上是List T的 IESEARCH上多次调用First()是否不好?

如何使嵌套for-loop更高效?

C#将参数传递给具有变化引用的变量

需要深入了解NpgSQL DateTimeOffset处理

try 还原包时出错:Dapper已经为System.Data.SQLClient定义了依赖项''''

. NET在上一个操作完成之前,在此上下文实例上启动了第二个操作

MAUI查询参数单一字符串项将不起作用

只有第一个LINQ.Count()语句有效

如何使datagridview的列具有响应性,以便不是所有列都更改其宽度

使用两个不同的枚举作为Switch语句中的CASE生成唯一值

如何在没有前缀和可选后缀的情况下获取Razor Page Handler方法名称?

在具有不同属性名称的两个类之间创建关系

C#带主体的主构造函数?

如何将%{v_扩展}转换为%{v_扩展}>>

在.NET8中如何反序列化为私有字段?

将C#类导入到PowerShell

映射器-如何映射到多个实体

为什么连接到Google OAuth2后,结果.Credential为空?

将文本从剪贴板粘贴到RichTextBox时,新文本不会在RichTextBox ForeColor中着色

Avalonia MVVM数据模板