System.InvalidOperationException:'ConnectionString属性尚未初始化。'

时间:2018-02-06 02:21:26

标签: c# sql database

我正在尝试使用元素填充列表框,并且通过干净的指南一直在做所有事情,但是当我尝试运行它时,我收到连接字符串错误。

很明显,我做了一些愚蠢的事情并且无法理解,所以我们将不胜感激。

错误

  

ConnectionString属性尚未初始化。

守则

public partial class FormMain : Form
{
    SqlConnection connection;
    string connectionString;

    public FormMain()
    {
         InitializeComponent();

         connectionString = ConfigurationManager.ConnectionStrings["NaujasAutoSalonas.Properties.Settings.AutoSalonasConnectionString"].ConnectionString;    
    }

    private void FormMain_Load(object sender, EventArgs e)
    {
        PopulateAutoKlases();
    }    

    private void PopulateAutoKlases()
    {
        using (connection = new SqlConnection(connectionString));
           using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM AutoKlases", connection))
           {
                DataTable KlasesTable = new DataTable();
                adapter.Fill(KlasesTable);

                lstKlases.DisplayMember = "KlasesPavadinimas";
                lstKlases.ValueMember = "KlasesID";
                lstKlases.DataSource = KlasesTable;
           }
     }
 }

1 个答案:

答案 0 :(得分:0)

如前所述,连接字符串属性未初始化,所以我猜您的应用程序无法从配置文件中读取连接字符串。您可以通过在的构造函数中放置断点来确认这一点。 FormMain 类。

如果没有在构造函数中设置连接字符串,那么您需要确定是否在配置文件中正确声明了连接字符串。因为 config 文件很少,所以它是重要的是在正确的 config 文件中声明连接字符串。

或者,如果要在 .settings 文件中定义连接字符串的属性,则可以验证是否正确访问它。