Проблема, связанная с UserControl с конструктором форм при вызове методов из класса C # - PullRequest
0 голосов
/ 26 марта 2019

1 - Я добавил строку подключения SQLite в app.config, и при ее вызове в конструкторе форм появляется ошибка (ссылка на объект не установлена ​​для экземпляра объекта) Изображение ошибки конструктора

2- Я попытался получить строку подключения по номеру индекса, в конструкторе появилась другая ошибка (Невозможно загрузить DLL «SQLite.Interop.dll»: указанный модуль не найден. (Исключение из HRESULT : 0x8007007E)) Изображение ошибки конструктора

App.config

<connectionStrings>
    <add 
           name="Cons" 
           connectionString="Data Source=|DataDirectory|PT.db; Version=3;" 
           providerName="System.Data.Sqlite"
     />
</connectionStrings>

в классе звоните :

public class SQL
    {
        private static SQLiteConnection con = new SQLiteConnection(ConfigurationManager.ConnectionStrings["Cons"].ConnectionString);

        public static void Open()
        {
            con.Open();
        }
    }

[Update]

Я обнаружил, что эта проблема возникает при вызове любого метода из SQL class в ControlTime UserControl в виде этого кода

public partial class ControlTime : UserControl
    {
        public ControlTime()
        {
            InitializeComponent();
            SQL.Open(); // if i remove this line the error disappears 
        }
    }

Что я могу сделать, чтобы вызвать SQL Class без каких-либо ошибок в конструкторе форм?

1 Ответ

0 голосов
/ 26 марта 2019

Попробуйте эту строку подключения:

<connectionStrings>
    <add name="Cons" 
    connectionString="data source=.\PT.sqlite"
    providerName="System.Data.SQLite"/> 
</connectionStrings> 
...