Как запустить программу, пока она отсутствует в файле базы данных? - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь запустить мою программу, она находится вне файла базы данных sqlite, но возникла исключительная ситуация:

Data Source cannot be empty.  Use :memory: to open an in-memory database

, и это мой код

    static string path;
    static SQLiteConnection cnn = new SQLiteConnection(@"Data Source=" + path + ";Pooling=true;FailIfMissing=false;Version=3");

    private void Form_Load(object sender, EventArgs e) {
        OpenFileDialog ofd = new OpenFileDialog();
        if (ofd.ShowDialog() == DialogResult.OK)
            path = ofd.FileName;
        OpenDB();
    }

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Мне пришлось создать ярлык из папки моего проекта.

0 голосов
/ 14 февраля 2020

Пожалуйста, попробуйте создать объект подключения, когда вам назначено значение path.

SQLiteConnection cnn; // requires not to be accessed until assigned
// hosting connection in the form is not the best idea so you may try to create data access object (additional class) with DB access implemented in this new class 

void OpenDB(string filename)
{
 // you may want to add existing connection check and disposing code here 
 cnn = new SQLiteConnection(@"Data Source=" + filename + ";Pooling=true;FailIfMissing=false;Version=3");
}

следует использовать как

        if (ofd.ShowDialog() == DialogResult.OK)
        {
            path = ofd.FileName;
            OpenDB(path);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...