嘗試通過ConnectionCtrings["MyDB"].connectionstring
連接到數據庫時,出現空引用異常。讀取連接字符串的空錯誤
這是在using語句中,它與我在其他許多項目中使用的代碼相同,但它始終告訴我空引用,並且我不知道爲什麼。
命名的連接字符串在同一個項目中的web.config中正確命名,所以我不希望存在權限問題。
我錯過了什麼?
編輯: 我已經看到了建議的答案,通過將字符串放入Web.Config(這是連接字符串所在的位置)來解決這些問題。
代碼: 的ConnectionString在Web.config中
<connectionStrings>
<add name="MyDB" connectionString="Data Source=192....; Initial Catalog=ProjectDb; Integrated Security=false; User Id=user; Password=password;" providerName="System.Data.SqlClient" />
</connectionStrings>
功能訪問DB
public static Company RetrieveCompany(int id)
{
var cmp = new Company();
try
{
using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString))
{
con.Open();
using (var cmd = new SqlCommand("RetreiveEmailProc", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@companyId", id);
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{ // code omitted }
}
}
}
catch(Exception ex)
{
}
return cmp;
}
請參閱http://stackoverflow.com/questions/11830297/nullreference-at-connectionstring – Marusyk
該問題與NRE無關,但缺少連接字符串。重新開放。 –