Строка подключения в usercontrol не работает - PullRequest
0 голосов
/ 11 ноября 2011

Я пытался (учится) сделать UserControl в Winforms. Вот мой 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 голосов
/ 11 ноября 2011

Вы можете легко использовать строку подключения в только что созданном элементе управления.

Вот мои настройки:

enter image description here

Пользовательский контроль - это одна кнопка с введенным вами кодом. Вспомогательный класс является частью пользовательского элемента управления. Как вы можете видеть, я прошел через это очень хорошо до открытой линии, где вы столкнулись с вашей проблемой. (Он открывается, а затем просто закрывает соединение, я проверил).

0 голосов
/ 11 ноября 2011

Хорошо, так что я нашел решение и отчаянно надеялся, что кто-то докажет, что я неправ. Я скопировал те же файлы (добавить существующие элементы) в другое решение Winforms (windowsFormApplication). И волла !! все работало нормально. Итак, на данный момент, я думаю, что строки подключения не могут быть использованы в UserControl, хотя я не могу оправдать то, что я говорю. Но да, я использовал те же файлы проекта и тот же контент app.config (конечно, я изменил имя пространства имен для файлов), и все работало отлично. Пожалуйста, дайте мне знать, если я неправильно понимаю основы. конечно, я буду продолжать искать в Интернете эту проблему. Спасибо.

Надеюсь, это поможет.

...