在C#中为Windows应用程序自动完成文本框

时间:2014-02-01 05:55:00

标签: c#

当我运行此代码时出现此错误..

  

对象引用未设置为对象的实例。

AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();

string ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;

using (SqlConnection con = new SqlConnection(ConString))
{
    SqlCommand cmd = new SqlCommand("SELECT NAME FROM CUSTOMER", con);
    con.Open();
    SqlDataReader reader = cmd.ExecuteReader();
    AutoCompleteStringCollection MyCollection = new AutoCompleteStringCollection();
    while (reader.Read())
    {
        MyCollection.Add(reader.GetString(0));
    }
    txtcname.AutoCompleteCustomSource = MyCollection;
    con.Close();

}

2 个答案:

答案 0 :(得分:0)

问题:我确定您没有在<ConnectionStrings>部分的配置文件中声明连接字符串。

OR

您可能已使用某个不同的Key名称宣布该名称,但不是ConString

解决方案:您应在ConString部分下的配置文件中声明名称为<ConnectionStrings>的正确连接字符串。

确保您的配置文件App.Configweb.config的{​​{1}}类似于以下内容:

ConnectionString

答案 1 :(得分:0)

确保web.config中的连接字符串类似于

<connectionStrings>
<add name="ConString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>