0

次のコードを使用して、SQLテーブルをグリッドビューにバインドしようとしています。

 string connectionString = WebConfigurationManager.ConnectionStrings["Gen_Lic"].ConnectionString; //<-- error
 string selectSQL = "SELECT * FROM Gen_Lic";
 SqlConnection con = new SqlConnection(connectionString);
 SqlCommand cmd = new SqlCommand(selectSQL, con);
 SqlDataAdapter adapter = new SqlDataAdapter(cmd);
 DataSet ds = new DataSet();

 adapter.Fill(ds, "Gen_Lic");

 Gen_Lic_Grid.DataSource = ds;
 Gen_Lic_Grid.DataBind();

しかし、これでどこが間違っているのかわかりませんが、エラーが発生します:

Object reference not set to an instance of an object.

助言がありますか?

これは私のweb.configファイルです:

<connectionStrings>
<add name="Gen_LicConnectionString" connectionString="Data Source=ESHA\SQLEXPRESS;Initial Catalog=Gen_Lic;User ID=sa;Password=sa@" providerName="System.Data.SqlClient" />
</connectionStrings>
4

3 に答える 3

1

このリンクを使用して、Web構成に接続文字列を追加します。

http://www.aspdotnet-suresh.com/2011/11/write-connection-strings-in-webconfig.html

呼び出しとwebconfigで別の名前を使用していました。

string connectionString = ConfigurationManager.ConnectionStrings["Gen_LicConnectionString"].ConnectionString; 
于 2012-11-29T05:06:00.723 に答える
0

SqlConnectionを開かなかった。コマンド変数を作成する前に、接続を開く必要があります。

string connectionString = WebConfigurationManager.ConnectionStrings["Gen_Lic"].ConnectionString; //<-- error
 string selectSQL = "SELECT * FROM Gen_Lic";
 SqlConnection con = new SqlConnection(connectionString);
 con.Open();// Need to Open Connection before to Create SQL Comamnd
 SqlCommand cmd = new SqlCommand(selectSQL, con);
 SqlDataAdapter adapter = new SqlDataAdapter(cmd);
 DataSet ds = new DataSet();

 adapter.Fill(ds, "Gen_Lic");

 Gen_Lic_Grid.DataSource = ds;
 Gen_Lic_Grid.DataBind();
于 2012-11-29T06:59:25.783 に答える
0

常に接続文字列を確認し、接続を開くように設定してください。安全を確保するために、常に接続を閉じるように設定してください。

if(connection.State == ConnectionState.Open)
   connection.Close();

connection.Open();
于 2017-07-31T01:59:58.457 に答える