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

njthzxwz  于 6个月前  发布在  其他
关注(0)|答案(3)|浏览(76)

我在尝试(学习)在Winforms中制作UserControl。下面是我的应用程序配置

<?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();


但还是没有运气。
谢谢.

o2gm4chl

o2gm4chl1#

好吧,所以我想出了一个解决方案,并希望有人证明我错了。我复制了相同的文件(添加现有项)到不同的Winforms(windowsFormApplication)解决方案。和volla!!一切正常。所以现在,我认为,连接字符串不能在UserControl中使用,即使我不能证明我所说的。但是,是的,我已经使用了相同的项目文件和相同的app.config内容(当然我改变了文件的命名空间名称)和一切工作得很好.请让我知道,如果我得到的基本错误.当然,我会继续在互联网上为这个问题serach.谢谢.
希望对你有帮助。

t5fffqht

t5fffqht2#

可以在新创建的控件中轻松使用连接字符串。
下面是我的设置:


的数据

用户控件是一个按钮,带有您提供的附加代码。Helper类是用户控件的一部分。正如您所看到的,我很好地完成了它,到达了您遇到问题的地方。(它打开然后关闭连接,我检查过了)。

ne5o7dgx

ne5o7dgx3#

在我的例子中,我已经解决了!事实上,在用户控件中会稍微改变插入的Connectionstring!解决方案只是通过使用Replace方法来恢复这些小变化,就像在任何其他字符串中一样!为了找出区别,只是让connectionstring被插入到一些面板或文本框中,然后将其与打开网页的在线版本的html的正确字符串进行比较。当然,首先必须禁用所有需要连接到在线数据库的东西!

相关问题