我的项目引用了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(); 对不起之前的错误标题错误...
答案 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;";