1

私は ADO.NET で私を助けるために使用している単純な WinForm を持っています。それはデータグリッドビューを持っています

というプロジェクトにコンパクトなSQLサーバーデータベースを追加しましたexperiment.sdf

App.config ファイルに以下を追加しました。これに基づいて以前のプロジェクト アプリ ファイルを使用したので、ここにエラーがあるのではないでしょうか?:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
  <add name="DatabaseDGVexperiments.Properties.Settings.DatabaseDGVexperimentsConnStg"
      connectionString="Data Source=|DataDirectory|\experiment.sdf"
      providerName="Microsoft.SqlServerCe.Client.3.5" />
</connectionStrings>
</configuration>

構成ライブラリへの参照を追加しました。

フォームの背後には次のコードがあります。

  SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseDGVexperimentsConnStg"].ConnectionString);

行にヒットするとSqlConnection conn = ...、エラーが発生しますNullReferenceException was unhandled。これを修正するにはどうすればよいですか?

4

3 に答える 3

7

これを変える:

name="DatabaseDGVexperiments.Properties.Settings.DatabaseDGVexperimentsConnStg"

に:

name="DatabaseDGVexperimentsConnStg"

またはこれを変更します:

ConfigurationManager.ConnectionStrings["DatabaseDGVexperimentsConnStg"]

に:

ConfigurationManager.ConnectionStrings["DatabaseDGVexperiments.Properties.Settings.DatabaseDGVexperimentsConnStg"]
于 2012-06-09T13:18:40.170 に答える
1
ConfigurationManager.ConnectionStrings["DatabaseDGVexperiments.Properties.Settings.DatabaseDGVexperimentsConnStg"].ConnectionString

次のように名前を付ける必要があることに注意してください

DatabaseDGVexperiments.Properties.Settings.DatabaseDGVexperimentsConnStg

としてではない

DatabaseDGVexperimentsConnStg

編集:

SqlServerCeデータベースを使用し、操作する必要がありSqlCeConnectionます。参照を追加すると、コードは次のようになります。SqlCeDataAdapterSystem.Data.SqlServerCe

using (var conn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["DatabaseDGVexperiments.Properties.Settings.DatabaseDGVexperimentsConnStg"].ConnectionString))
{
    conn.Open();
    using (var myAdapt = new SqlCeDataAdapter("SELECT * FROM experiment.dbo.helloworld", conn))
    {
        DataSet mySet = new DataSet();
        myAdapt.Fill(mySet, "AvailableValues");
        DataTable myTable = mySet.Tables["AvailableValues"];
        this.uxExperimentDGV.DataSource = myTable;
    }
}
于 2012-06-09T13:19:10.077 に答える
0

コードとweb.configで異なるキー値を使用しました。文字列は完全に一致する必要があります。

于 2012-06-09T13:19:18.627 に答える