Android 如何在两个条件下查询SQLite数据库?
我有一个关于employee的表,有3列,如下代码:Android 如何在两个条件下查询SQLite数据库?,android,sql,sqlite,Android,Sql,Sqlite,我有一个关于employee的表,有3列,如下代码: db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + DEPT + " TEXT NOT NULL," + NAME + " TEXT NOT NULL," + CITY + " TEXT NOT NULL);"); 现在我只想展示同一部门
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + _ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT, " + DEPT
+ " TEXT NOT NULL," + NAME + " TEXT NOT NULL," + CITY + " TEXT NOT NULL);");
现在我只想展示同一部门和城市的员工(即HCM城市和销售部门的员工)。我如何查询才能得到它?@DienTrinh,你说得对,注意
和
周围的空格。那应该对你有用
SELECT * FROM Employees WHERE DEPT='Sales' AND City='HCM'
Cursor cursor = db.query(TABLE_NAME,
new String [] {_ID, NAME, DEPT, CITY },
DEPT +"=?" +" AND " + CITY +"=?",
new String[] {"Sales", "HCM" },
null, null, null);
解决办法是:
SELECT * FROM Employess
WHERE DEPT='Sales' COLLATE NOCASE AND City='HCM' COLLATE NOCASE
它在SQL中工作,但在SQLite中不工作。如何在SQLite中使用该命令,语法为:db.query(表、列、选择、selectionArgs、groupBy、have、orderBy)。我尝试使用Cursor Cursor=db.query(表名、新字符串[]{ID、名称、部门、城市}、部门+“=?”+”和“+CITY+”=?”,新字符串[]{“Sales”、“HCM”},null,null,null);。但是仿真器显示了一个错误:这种类型的查询不应该使用db.rawQuery方法而不是db.query来运行吗?我想这就是问题所在。