string where = FIELD_id +"= ?" 这个表示什么意识啊?是早对SQL操作中出现的额?

解决方案 »

  1.   

    表示FIELD_ID等于某个变量,在执行之前肯定得提供这个变量的值。
      

  2.   

    FIELD_id是表中的一个字段名,where = FIELD_id +"= ?" 表示查询的条件。
    ?代表的是你要查询的记录中对应的FIELD_id字段的值,如果用sql来表示应该大概是这样:
    select * from table where FIELD_id=?
    我举的这个例子代表查询table中FIELD_id的值为?的记录,?可以通过程序赋值成具体的值。
      

  3.   


    还是不大明白啊:代码里面是这个样子的额:   private final static String DATABASE_NAME = "todo_db";
      private final static int DATABASE_VERSION = 1;
      private final static String TABLE_NAME = "todo_table";
      public final static String FIELD_id = "_id";
      public final static String FIELD_TEXT = "todo_text";public void delete(int id)
      {
        SQLiteDatabase db = this.getWritableDatabase();
        String where = FIELD_id + " = ?";
        String[] whereValue =
        { Integer.toString(id) };
        db.delete(TABLE_NAME, where, whereValue);
      }
      

  4.   


    还是不大明白啊:代码里面是这个样子的额:   private final static String DATABASE_NAME = "todo_db";
      private final static int DATABASE_VERSION = 1;
      private final static String TABLE_NAME = "todo_table";
      public final static String FIELD_id = "_id";
      public final static String FIELD_TEXT = "todo_text";public void delete(int id)
      {
        SQLiteDatabase db = this.getWritableDatabase();
        String where = FIELD_id + " = ?";
        String[] whereValue =
        { Integer.toString(id) };
        db.delete(TABLE_NAME, where, whereValue);
      }
    我一般不用这种写法,都是直接写SQL这个的意思是 delete * from table_name where field_id = wherevalue
      

  5.   

    还是不大明白啊:代码里面是这个样子的额:   private final static String DATABASE_NAME = "todo_db";
      private final static int DATABASE_VERSION = 1;
      private final static String TABLE_NAME = "todo_table";
      public final static String FIELD_id = "_id";
      public final static String FIELD_TEXT = "todo_text";public void delete(int id)
      {
        SQLiteDatabase db = this.getWritableDatabase();
        String where = FIELD_id + " = ?";
        String[] whereValue =
        { Integer.toString(id) };
        db.delete(TABLE_NAME, where, whereValue);
      }

    android里面对于sql语句的操作封装到了方法里,可以调用这个方法,也可以直接执行sql语句,用熟了更加方便
    调用delete(int id)方法,只要传入一个参数比如说2,就可以删除指定数据库里指定表里id为2的所有记录
    效果同直接执行sql语句:delete * from todo_table where FIELD_id=2