Недопустимые символы в SQlite Connection (C #) - PullRequest
0 голосов
/ 27 января 2019

Я новичок в SQL / SQLite, но когда я пытаюсь запустить этот метод для поиска в БД SQlite, он завершается с ошибкой в ​​con.Open (), говоря «Исключение системного аргумента: недопустимые символы в пути».Я попытался удалить пробел между данными и источником, и я также попытался сделать строчные буквы C :.Я использую SQLite, обнаруженный в диспетчере пакетов Nuget

private void searchDB(string search1, string search2)
{
    //build connection to sqlite
    string cs = "Data Source=C:\flowData.db;Version=3;";
    using (SQLiteConnection con = new SQLiteConnection(cs))
    {
        con.Open();

        string stm = "SELECT * FROM  locationData";

        using (SQLiteCommand cmd = new SQLiteCommand(stm, con))
        {
            using (SQLiteDataReader rdr = cmd.ExecuteReader())
            {
                while (rdr.Read())
                {
                    string poll = rdr["FacilityName"].ToString();
                    if (poll.Contains(search1) || poll.Contains(search2))
                    {
                        searchResult.Items.Add(poll);
                    }
                }
            }
        }
        con.Close();
    }
}

Ошибка: Error

1 Ответ

0 голосов
/ 27 января 2019

Похоже, вам нужно избежать обратной косой черты.

string cs = "Data Source=C:\\flowData.db;Version=3;";

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

string cs = @"Data Source=C:\flowData.db;Version=3;";

Исходная строка содержит символ \f, которыйявляется недопустимым символом пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...