ошибка: невозможно открыть файл базы данных, исключение SQLiteException - PullRequest
0 голосов
/ 25 ноября 2011

В моем проекте есть ссылка на SQLite.Interop.066.dll, и даже после указания правильного пути к базе данных SQLite, приложение все равно не может его найти.SQLiteException was unhandled возвращается.

        SQLiteConnection conn = new SQLiteConnection();
        //SQLiteDataAdapter da;
        SQLiteCommandBuilder cb;
        DataTable dt=new DataTable();
        int row = 0;

        conn.ConnectionString = "Data Source=C:\\database\\info.db; Version=3";
        conn.Open();

        DataRow dr = dt.NewRow();
        dr["name"] = txtName.Text;
        dr["address"] = txtAddress.Text;
        dr["phone"] = txtPhone.Text;
        dr["position"] = txtPosition.Text;
        dt.Rows.Add(dr);
        da.Update(dt);

        row = dt.Rows.Count - 1;
        txtName.Text = dt.Rows[row]["name"].ToString();
        txtAddress.Text = dt.Rows[row]["address"].ToString();
        txtPhone.Text = dt.Rows[row]["phone"].ToString();
        txtPosition.Text = dt.Rows[row]["position"].ToString();

        da.Fill(dt);

        cb = new SQLiteCommandBuilder(da);

        conn.Dispose();
        conn.Close();

Исключение происходит в строке: conn.Open ();
извините за ошибку название ошибки до ...

Ответы [ 2 ]

1 голос
/ 26 ноября 2011

Посмотрите на правильный формат строки подключения SQLite, который можно найти здесь: http://www.connectionstrings.com/sqlite.

На первый взгляд кажется, что вам не хватает расширения файла в «info» и любых необходимых опций строки подключения, которые могут подходить для вашей реализации (опять же, для получения дополнительной информации см. Connectionstrings.com).

Поскольку ошибка представляет собой исключение «индекс вне диапазона», выдаваемое conn.Open(), звучит так, как будто он просто не может найти базу данных, и исправление расширения может просто помочь.

0 голосов
/ 19 июля 2013
conn.ConnectionString = "Data Source=C:\\database\\info.db; Version=3;"; 
...