usercontrol中的连接字符串不起作用

时间:2011-11-11 12:20:04

标签: c# sql winforms user-controls connection-string

我正在尝试(学习)在Winforms中创建UserControl。这是我的app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="LoginTestDB_cf"
      connectionString="Data Source=.\SqlExpress;Initial Catalog=LoginTestDB;Integrated Security=True;Pooling=False"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

我创建了一个静态类并尝试获取连接字符串。多数民众赞成我的尝试:

static class Helper
{
    public static string ConnectionString
    {
        get
        {
            string str = System.Configuration.ConfigurationManager.ConnectionStrings["LoginTestDB_cf"].ConnectionString;
            return str;
        }
    }
}

然后我尝试访问连接字符串,如下所示:

_myCommand = "my_command_text";
SqlConnection con = new SqlConnection();
con.ConnectionString = Helper.ConnectionString; //getting error
_cmd = new SqlCommand(_myCommand, con);
con.Open();

错误:“对象引用未设置为对象的实例。”

我在设置连接字符串时遇到错误。我可以知道这里有什么问题吗?我确信玩脏的部分有一个小错误或无知,但无法识别。

在助手课程中,我甚至尝试过

string str = System.Configuration.ConfigurationManager.AppSettings["LoginTestDB_cf"].ToString();

但仍然没有运气。

感谢。

2 个答案:

答案 0 :(得分:0)

好的,所以我想出了一个解决方案,并且绝望地希望有人证明我错了。我将相同的文件(添加现有项)复制到不同的Winforms(windowsFormApplication)解决方案。和volla !!一切正常。所以现在,我认为连接字符串不能在UserControl中使用,即使我无法证明我所说的。但是,是的,我使用了项目的相同文件和app.config的相同内容(当然我更改了文件的命名空间名称),一切都很好。如果我弄错了基础知识,请告诉我。我肯定会继续在互联网上搜索这个问题。谢谢。

希望它有所帮助。

答案 1 :(得分:0)

您可以在新创建的控件中轻松使用连接字符串。

这是我的设置:

enter image description here

用户控制是一个包含您提供的附加代码的按钮。帮助程序类是用户控件的一部分。正如你所看到的那样,当你遇到问题的时候,我已经穿过了它。 (它打开然后关闭连接就好了,我查了一下。)