asp .net中的空引用异常

时间:2015-03-22 06:54:46

标签: c# sql asp.net

我们正在开展一个项目,我们需要在谷歌地图上显示地点。对于地方,我们提供数据库的纬度和经度。我们在以下地方面临空引用异常错误:

using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.
        ConnectionStrings["Data Source=KHUSHALI\\SERVER;Initial Catalog=gis;
                   Integrated Security=True"].ConnectionString))

如何解决此错误请指导我。

3 个答案:

答案 0 :(得分:2)

异常原因: -

当你说:

System.Configuration.ConfigurationManager.
        ConnectionStrings["Data Source=KHUSHALI\\SERVER;Initial Catalog=gis;
                   Integrated Security=True"]

由于没有名称为Data Source=KhUSHAL..的连接字符串,因此ConnectionStrings将返回null,并且您正在尝试访问ConnectionString属性,这将导致空引用例外。请阅读此错误here

基本上你要混合两者,要么这样做: -

string CS ="Data Source=KHUSHALI\\SERVER;Initial Catalog=gis;Integrated Security=True";
using (SqlConnection con = new SqlConnection(CS))
{
   //Your code
}

或者从Web.Config(首选方式)获取: -
首先在Web.Config中定义连接:

<connectionStrings>
   <add name="Test" connectionString="Data Source=KHUSHALI\\SERVER;Initial Catalog=gis;
         Integrated Security=True"  providerName="System.Data.SqlClient" />
</connectionStrings>

然后这样读: -

using (SqlConnection con = new SqlConnection(System.Configuration
                     .ConfigurationManager.ConnectionStrings["Test"].ConnectionString))
{
   //Your code
}

答案 1 :(得分:0)

您是否在UI项目的Web.Config中有ConnectionString?

<强>修正: 将ConnectionString和Paste复制到Web.Config

答案 2 :(得分:0)

您的代码,

using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.
        ConnectionStrings["Data Source=KHUSHALI\\SERVER;Initial Catalog=gis;
                   Integrated Security=True"].ConnectionString))

无效,这不是声明连接字符串并访问它们的方法。

  

我们如何声明连接字符串并可以访问它们?

No1:&gt;在页面

string strConnectionString="server=localhost;database=myDb;uid=myUser;password=myPass;;
                   Integrated Security=True";
using (SqlConnection con = new SqlConnection(strConnectionString))
{
}

No2。&gt; Web.Config您可以在configurationappSeting

下声明

可以访问:

using (SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings("myConnectionString")))
{
}

No3&gt; Web.Config您可以在configurationconnectionStrings

下声明
<connectionStrings>
<add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>

可以访问:

 using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString))
    {
    }