错误:无法打开数据库文件,SQLiteException未处理

时间:2011-11-25 08:09:54

标签: c# sqlite visual-studio-2005 windows-mobile-6

我的项目引用了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 个答案:

答案 0 :(得分:1)

查看SQLite连接字符串的正确格式,可在此处找到:http://www.connectionstrings.com/sqlite

乍一看,您似乎错过了“info”上的文件扩展名以及可能适合您实现的任何必要的连接字符串选项(再次请参阅connectionstrings.com以获取帮助)。

由于错误是conn.Open()引发的“索引超出范围”异常,听起来似乎无法找到数据库,修复扩展可能只是诀窍。

答案 1 :(得分:0)

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