c#-4.0 - 从 C# 组合框的 Access 表返回 ID 值的有效方法

标签 c#-4.0 ms-access-2007

我正在使用以下代码来填充我的组合框以实现进一步的功能。有没有更好的方法在类上下文中填充我的组合框?我意识到,如果记录数量达到数千,那么这可能不是最佳实践。

private void Form1_Load(object sender, EventArgs e)
{
    Book myBook = new Book;
    myBook.Connect();
    comboBox1.DataSource=myBook.IDs();
}

class Book
{
    OleDbCommand Comm;
    OleDbConnection Conn;
    OleDbDataReader Reader;
    string queryString;

    public void Connect()
    {
        Conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Book.accdb");
    }

    public List<string> IDs()
    {
        string singleID = null;
        List<string> IDs = new List<string>();
        queryString = "Select bID from Books";
        Comm = new OleDbCommand(queryString, Conn);
        Reader = Comm.ExecuteReader();
        while (Reader.Read())
        {
            singleID = Reader[0].ToString();
            IDs.Add(singleID);
        }
        Conn.Close();
        Reader.Close();
        return IDs;
    }
}

最佳答案

您用来填充组合框的方法在技术上似乎是正确的。您可能是对的,如果它会导致一个包含大量项目的组合框,那么它在实践中可能效果不佳,但这更多是“UI 设计”的问题(即, “使用单个组合框是让用户做出选择的正确选择吗?”)而不是“代码设计”(即,“我正在使用组合框,那么什么是将元素放入其中的最佳方式?”)。

关于c#-4.0 - 从 C# 组合框的 Access 表返回 ID 值的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16039369/

相关文章:

c# - 如何测试 AccessViolationException 的处理

winforms - 使用 System.Media.SoundPlayer.PlaySync() 和 AxWindowsMediaPlayer 并行播放声音

javascript - 提交操作单击时,脚本未触发提交按钮消息

ms-access - MS Access 2007 弹出式表单拒绝在设计模式下显示/无法 Access (但出现在表单列表中)

c++ - 显示列的 SUM() 值时出现问题

ms-access - 从 Access DB 中提取 OLE 对象(word 文档)

c# - WF4 : Workflow stay locked

c#-4.0 - 我们可以从 C# 中的最后一个文件夹中拆分文件路径吗?

SQL 查询改进 - MSAccess 2007

sql - 一个 Access SQL 查询中的多个 UPDATE