我无法弄清楚这个错误意味着什么: SQLiteLog:(1)接近" s":语法错误 主要是因为我无法找到它正在流失的数据库。
我正在构建一个电影数据库android应用程序,我在原始目录中的数据库文件保持不变,我无法找到构建正在运行的数据库来修复此问题。
使用OMDB api时,电影会添加到我的本地数据库,有些则不会。
我用来添加的命令是:
MovieDB db = new MovieDB((Context) this);
SQLiteDatabase movDB = db.openDB();
String insert = "insert into movies values('" + movie.title + "','" + movie.year + "','" + movie.rated + "','" + movie.released + "','" + movie.runtime + "','" + movie.genre + "','" + movie.actors + "','" + movie.plot + "',null);";
movDB.execSQL(insert);
我觉得它必须要做的就是最后的null,因为在我的数据库中我有一个自增量ID,我想如果我传递null它只会分配一个值。
非常感谢任何见解!
答案 0 :(得分:1)
在SQLITE中插入行的推荐方法是使用比执行查询更好的contentvalues。以下示例,
public void addMovie(String title, int year){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("title", title);
values.put("year", year);
db.insert(TABLE_MOVIES, null, values);
db.close();
}