今天突然发现数据库语句查询失败,主要查询方式就两种。
前提:item1,projectName,type都为String 类型
1、
String sql = String.format("SELECT '%s' FROM ItemParas WHERE name ='%s' AND sampleType = '%s' ",item1,projectName,type);
Cursor c = db.rawQuery(sql,null);
2、
String sql = "select ? from itemparas where name=? and sampleType=? ";
c = db.rawQuery(sql,new String[] { item1,projectName,type });
还是不行。又拿Navicat Premium 试了好几个版本,才发现是projetName出了问题。 但 Type也是String类型啊? 最后用转义字符解决了。。。。
String sql = String.format("SELECT \"%s\" FROM ItemParas WHERE name =\"%s\" AND sampleType = \"%s\" ",item1,projectName,type);
Cursor c = db.rawQuery(sql,null);