做模糊搜索时,出现了 bind or column index out of range: handle 0x2fb180 报错
public Cursor getTitle(String word) throws SQLException
{
String sql = "select * from contentinfo1 where title =? ";
Cursor cursor = db.rawQuery(sql, new String[] {word});
return cursor;
}
实现精确匹配后,依葫芦画瓢的想制作模糊搜索,套用了SQL语句,不料出错
public Cursor getTitle(String word) throws SQLException
{
String sql = "select * from contentinfo1 where title like '%"+word+"%'";
Cursor cursor = db.rawQuery(sql, new String[] {word});
return cursor;
}
解决方法:
public Cursor getTitle(String word) throws SQLException
{
String sql = "select * from contentinfo1 where title like '%"+word+"%'";
Cursor cursor = db.rawQuery(sql,null);
return cursor;
}
原因:更改语句之后用了+word+而非占位符 ?, 所以rawQuery第二个参数不知道和哪个对应故出现报错
进一步修改方案可以参照
http://stackoverflow.com/questions/5716543/android-sqliteexception-bind-or-column-index-out-of-range-problem
需要将第二个rawquery参数更改为NULL
分享到:
相关推荐
使用 SQLiteDatabase 操作 SQLite 数据库 代码如下:/* Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除...
android数据库使用真的很不错 SQLiteOpenHelper 创建数据库和数据库版本管理的辅助类。这是一个抽象类,所以我们一般都有一个SQLiteOpenHelper子类,需要继承实现 • void onCreate(SQLiteDatabase db) 在数据库第...
import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; ...
android内部有缓存可关闭也不关闭也行,查询rawQuery是方法 3.在分页有到Cursor(游标)取游标下一个值cursor.moveToNext(),用游标对象接数据 "select * from person limit ?,?" person不能加上where 关键字 4.在...
Cursor cursor=db.rawQuery(sql, null); if (cursor != null) { String temp = ""; int i = 0; while (cursor.moveToNext()) { temp+=cursor.getString(0); } tempall=...
一个Android的demo工程,演示了如何解决数据库注入漏洞问题。 针对3种查询:rawQuery,query,以及LitePal的查询。 更详细的说明,参见相关博客文章:https://blog.csdn.net/lintax/article/details/79831376
本文实例讲述了Android编程之数据库Sql编程实现方法。分享给大家供大家参考。具体分析如下: Android中安装轻量级数据库Sqlite,现在测试数据库基本操作。 数据库基本操作:创建表,插入,删除可以用execSQL();读取...
SQLite基础,感觉介绍还不错,SQLite在android,ios开发领域应用也比较广泛,html5也有应用。前端开发人员也应该学习
|--数据库CURD通过execSQL与rawQuery |--数据库SQLiteOpenHelper标准写法 |--数据库复杂多表查询 |--数据库查询之归属地 |--数据库直接CURD |--数据提交无需权限 |--文件之从服务器下载 |--文件之拷贝文件至某个目录...
// | Gravity.TOP, arrayOfInt[0]+10, arrayOfInt[1]+41); // break; // case R.id.iv_city: // // break; // case R.id.iv_district: // // break; // // default: // break; // ...
String.valueOf(pageSize),String.valueOf((pageNumber-1)*pageSize)});) 2、ListView 分批加载(listView的setOnScrollListener事件的掌握和逻辑的判断操作) 3、ListView 的两种优化(View对象复用和JavaBean...
hbworkspace3-15 (1)名称:-DatabaseCompileStatement_AS描述:-使用rawquery和compile语句的数据库查询。 (2)名称:-Metadata_AS描述:-来自Android清单的元数据tad,用于获取诸如api键之类的值。 (3)名称:-...
查询操作需要从url.Query到url.RawQuery来回url.RawQuery 。 受到Java的库的启发。早期尝试使用构建器模式并没有使生产代码更短或更容易编写。 文献资料 例子 代替: u, err := url.Parse("http://example.com/") ...
由于考虑到数据库的安全性,不被轻易SQL注入,执行查询语句时,一般不使用直接拼接...Cursor cursor = db.rawQuery(sql, new String[]{myname};运行提示如下错误: 代码如下:java.lang.IllegalArgumentException: Cann
检验员 ... 范例回应 { " Method " : " GET " , ... " RawQuery " : " " , " Fragment " : " " }, " Header " : { " Accept " : [ " */* " ], " Client-Ip " : [ " 192.168.59.3 " ], " Conne
SQlite按照时间过滤的日期格式以及rawQuery()方法问题
在Go语言中,encoding/json标准包处理json数据的序列化与反序列化问题。如果想了解序列化可以看这一篇序列化。与编码json的Marshal类似,解析json也提供了Unmarshal方法。... If v is nil or not a
SQLite数据表查询操作 实现方式:① rawQuery() -> 指向SQL语句 ② API方法 即 Query()方法 -> 根据参数控制
SQLite数据库开发;Demo代码,简单易学,rawQuery+execSQL方式