想要用rwaquery()函数进行模糊查询,下面的语句可以:
Cursor c = db.rawQuery(
"select * from " + table + " where " + fuzzyColumn
+ " like '%" + fuzzyArgs + "%';", null);
但是凡是有替换符‘?’加入就不行了,下列语句都不行:
Cursor c = db.query(table, null, "? like '20'", new String[]
{"linename"}, null, null, null);
Cursor c = db.rawQuery("select * from bus_line where ? like '%20%';",
new String [] {fuzzyColumn});
String sql = "select * from " + table + " where " + fuzzyColumn +" like ?";
String [] selectionArgs = {"'%20%'"};
Cursor c = db.rawQuery(sql, selectionArgs);
------解决思路----------------------
问号不能用于列名吧。
------解决思路----------------------
/**
* 插入操作
*/
public void insert(String table, Object[] params) {
try {
String sql_select = "insert into "
+ table
+ "(city, date, img, temperature, wind, weather) values(?, ?, ?, ?, ?, ?)";
database.execSQL(sql_select, params);
} catch (Exception e) {
e.printStackTrace();
}
}
------解决思路----------------------
params数组有六个值,就是对应六个问号的(占位符)
------解决思路----------------------
没试过谁列名拿来置位的,你试下这样行不行:Cursor c = db.query(table, null, " '?' like '20'", new String[]
{"linename"}, null, null, null);