为什么我的连接字符串为null

时间:2014-09-29 12:42:00

标签: c# sql winforms

我正在从sql数据库访问存储过程,但它会抛出连接字符串点:

“未设置对象引用”

代码:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
  </configSections>
  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=HOME-PC;Initial Catalog=LMS;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>


string conStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();

我在c#.net中使用Windows窗体,我是新手。

2 个答案:

答案 0 :(得分:1)

从您的一条评论中,似乎您的连接字符串可能是在类库的app.config文件中定义的。如果是这种情况,您需要将配置文件中的连接字符串条目复制到实际应用程序的配置文件中 - 在本例中,是调用业务层库的Windows窗体应用程序。

答案 1 :(得分:0)

我找到了两种可能的解决方案:
A.从App.config文件的连接字符串定义中删除providerName =“System.Data.SqlClient”部分 或
B.添加“using System.Data.SqlClient;”在您尝试获取和使用connectionString的客户端代码的使用部分上的行,如下所示:

使用System.Data.SqlClient;

//(...其他代码......)

string conStr = ConfigurationManager.ConnectionStrings [“ConnectionString”]。ConnectionString.ToString();

我的猜测是在connectionstring上使用providerName选项会强制在执行时调用指定的提供程序。