Notepadv1 这个例子中,我想在表中增加一列,就叫body2吧。 NotesDbAdapter中添加: public static final String KEY_BODY2 = "body2"; 修改 DATABASE_CREATE = "create table notes (_id integer primary key autoincrement, " + "title text not null, body text not null,body2 text not null);"; 问题就来了 createNote中 public long createNote(String title, String body) { ContentValues initialValues = new ContentValues(); initialValues.put(KEY_TITLE, title); initialValues.put(KEY_BODY, body); initialValues.put(KEY_BODY2, body); long id = mDb.insert(DATABASE_TABLE, null, initialValues); return mDb.insert(DATABASE_TABLE, null, initialValues); } 返回的id 是-1,意味着insert出错的。我不知道怎么回事... 另外之前我遇到另一问题, mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null, null, null, null, null); SQL查询条件为:KEY_ROWID + "=" + rowId, 我想把它改成:KEY_BODY + "=" + strName,结果有异常抛出 后来发现是SQL语句书写错误,少了单引号:KEY_BODY + "=‘" + strName+“’”就可以了 |
,在添加查询条件的时候加单引号,在其他查询条件的时候要注意字符的添加!