首页 > 解决方案 > C#如何使用AutoCompleteSource从文本框中的数据库中获取int值

问题描述

我在这里遇到了一个我无法解决的问题。我的 Windows 应用程序中有一个文本框。在那个文本框中,我想显示一个建议。在我的数据库中,我有列名“Codeitem”,它是整数。我想在我的 texbox 上显示这个值,但我不知道该怎么做。任何帮助的家伙。太感谢了

AutoCompleteStringCollection Collection = new AutoCompleteStringCollection
  private void SIMSProduct_Load(object sender, EventArgs e)
    {

        AddingProduct();

        using (var con = SQLConnection.GetConnection())
        {


            var select = new SqlCommand("Select Codeitem from employee_product", con);
            var reader = select.ExecuteReader();

            while (reader.Read())
            {
                Collection.Add(reader.GetString(0));
            }       

        }

    }
private void txt_code_TextChanged(object sender, EventArgs e)
    {

        txt_code.AutoCompleteCustomSource = Collection;
        txt_code.AutoCompleteMode = AutoCompleteMode.Append;
        txt_code.AutoCompleteSource = AutoCompleteSource.CustomSource;

    }

标签: c#visual-studiowinformssql-server-2008

解决方案


添加这两行:txt_code.AutoCompleteMode = AutoCompleteMode.Append; txt_code.AutoCompleteSource = AutoCompleteSource.CustomSource;

您添加的位置: txt_code.AutoCompleteCustomSource = Collection;

作为旁注,请确保您使用 using () for reader 和 select 。SqlCommands 和 SqlDataReaders 应该在使用后处理掉。


推荐阅读