sql查询语句规范

SQLite中所有SQL语句都需要先编译为stmt,然后执行。

首先构造SQLiteStatement对象,然后使用该对象执行,通过session调用到连接池中某个connection的execute相关方法。
其中,在connection中重新构建PreparedStatement,其实该对象才真正指向sqlite中的stmt。

1、使用query的方式

?
1
2
3
4
5
6
7
8
9
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
Cursor cr;
cr = db.rawQuery( "select * from person where name=yuu" , null );
if (cr.moveToFirst()) {
     for ( int i = 0 ; i < cr.getCount(); i++) {
         cr.getString();
         cr.moveToNext();
     }
}

但当出现特殊字符时,会报sql异常建议使用第二种方案

2、使用带问号的查询方式

?
1
StringBuffer selection = new StringBuffer();
selection.append(Media.SIZE).append(">0").append(" AND ");
selection.append(Media.BUCKET_DISPLAY_NAME).append("=?");
String[] selectionArgs = new String[]{dirName};
//selection.append(Media.BUCKET_DISPLAY_NAME).append("='").append(dirName).append("'");
try {
Cursor cursor = context.getContentResolver().query(Media.EXTERNAL_CONTENT_URI,
columns, selection.toString(), selectionArgs, Media.DISPLAY_NAME); StringBuffer selection = new StringBuffer();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值