如何查询SQLite数据库

时间:2015-11-20 07:15:07

标签: android sqlite android-sqlite

这是我的表:

private static final String CREATE_TABLE_EMPLOYEES = "CREATE TABLE "+ TABLENAME + "(" +
            COLUMNS[0] + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , " +
            COLUMNS[1] + " TEXT NOT NULL , " +
            COLUMNS[2] + " TEXT NOT NULL , " +
            COLUMNS[3] + " TEXT NOT NULL , " +
            COLUMNS[4] + " TEXT NOT NULL , " +
            COLUMNS[5] + " TEXT NOT NULL  " +
            ");";

查询数据库中的所有数据:

public List<Employee> getEmployees() {
        List<Employee> employees = new ArrayList<Employee>();
        Cursor cur = db.query(dbHelper.TABLENAME, columns, null, null, null, null, null);
        cur.moveToFirst(); // need to start the cursor first...!
        while(!cur.isAfterLast()) { // while not end of data stored in table...
            Employee emp = new Employee();
            emp.setId(cur.getInt(0));
            emp.setName(cur.getString(1));
            emp.setCharge(cur.getString(2));
            emp.setDepartament(cur.getString(3));
            emp.setPhone(cur.getString(4));
            emp.setEmail(cur.getString(5));
            employees.add(emp);
            cur.moveToNext(); // next loop
        }
        cur.close(); // !important
        return employees;
    }

如果employee name =="ali"

,我想查询所有数据

请帮帮我。

4 个答案:

答案 0 :(得分:1)

  

如果员工姓名==&#34; ali&#34;。

,我想查询所有数据

第三第四参数在query方法中可用于在查询中添加WHERE clause

这样做:

Cursor cur = db.query(dbHelper.TABLENAME, columns, 
                      "name=?", 
                      new String[] { "ali" }, 
                      null, null, null);

答案 1 :(得分:1)

替换

Cursor cur = db.query(dbHelper.TABLENAME, columns, null, null, null, null, null);

 Cursor cur = db.query(dbHelper.TABLENAME, columns, columns[1]+" = ?", new String[]{"ali"}, null, null, null);

db.query()方法中的第3个参数是“选择语句” 第四个参数是“选择参数”。

答案 2 :(得分:1)

试试这个,这也可以帮助您阻止?>

<?php
if (file_exists('Globals.php')) {
  echo "file exists";
} else {
  echo "file does not exist";
}
?>

答案 3 :(得分:0)

如果员工姓名=="ali": -

,请使用此光标查询所有数据
String selection = COLUMNS[x] + " = " + "'" + ali + "'";
Cursor cur = db.query(dbHelper.TABLENAME, columns, selection, null, null, null, null);

此处COLUMNS[x]应为包含员工姓名的列,“x”为相应的列号。

此光标将仅为您提取名为“ali”的员工的记录/元组。