Android里的查询数据库语句


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+“’”就可以了

,在添加查询条件的时候加单引号,在其他查询条件的时候要注意字符的添加!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值