我正在尝试使用以下代码将我的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>
答案 0 :(得分:1)
使用此链接在Web配置中添加连接字符串。
http://www.aspdotnet-suresh.com/2011/11/write-connection-strings-in-webconfig.html
您在调用和webconfig中使用了不同的名称。
string connectionString = ConfigurationManager.ConnectionStrings["Gen_LicConnectionString"].ConnectionString;
答案 1 :(得分:0)
您没有打开SqlConnection。你必须在创建命令变量之前打开Connection。
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();
答案 2 :(得分:0)
始终检查连接字符串并将连接设置为打开。 为了使其安全,请始终将您的连接设置为关闭。
if(connection.State == ConnectionState.Open)
connection.Close();
connection.Open();