private static final String CREATETABLE1 = "create table " + TABLENAME1 + "(id integer primary key, time string, guid string)";
public boolean insert(MyTrackPoints points){
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.beginTransaction();
try {
db.execSQL("insert into " + MySQLiteOpenHelper.TABLENAME1 + " ('guid','time') "+ " values(?,?)", new Object[]{points.guid,points.time});
db.setTransactionSuccessful();
}catch(Exception e) {
return false;
} finally {
db.endTransaction();
}
db.close();
return true;
}
开始我没有设置id为primary key
db.execSQL("insert into " + MySQLiteOpenHelper.TABLENAME1 +" values(?,?,?)", new Object[]{points.id,points.guid,points.time});
一直正确,但是后来设置id为primary key后,一直报错,添加" ('guid','time') " 这个后就ok啦
本文探讨了在使用SQLite数据库时,设置id为主键后插入数据出现的问题及解决方案。原本不指定主键直接插入数据的方式在设置主键后失效,通过调整SQL语句明确指定插入字段解决了该问题。
515

被折叠的 条评论
为什么被折叠?



