select命令不从SQLite检索数据,尽管它入?



我使用以下命令插入数据,并作为插入命令的结果获得true .

 public boolean insertAppointment(Appointment appointment) {
        SQLiteDatabase db=this.getReadableDatabase();
        ContentValues values = new ContentValues();
        values.put(COL_EVENT_ID, appointment.mEventId);
        values.put(COL_START_DATE, formatter.format(appointment.mStartDate));
    //  Log.d("date when insert",appointment.mStartDate+"");
        values.put(COL_END_DATE, formatter.format(appointment.mEndDate));
        values.put(COL_EVENT_BODY, appointment.mBody);        
        values.put(COL_EVENT_TITLE, appointment.mTitle);
        values.put(COL_STUDENT_ID, appointment.mStudentId);        
        values.put(COL_EVENT_STATUS, appointment.mSatus);
        values.put(COL_SERVICE_NUMBER, appointment.mServiceNo);        
        values.put(COL_PASSWORD, appointment.mPassword);
        values.put(COL_LECTURER_ID, appointment.mLecturerId);        
        values.put(COL_SEC_NO, (Integer)appointment.mSecNo);
        values.put(COL_DEPT_NO, (Integer)appointment.mDeptNo);
        values.put(COL_FLOOR_NO, (Integer)appointment.mFloorNo);
        boolean r = db.insert(TIMETABLE_TABLE, null, values) > 0 ;
        Log.d("db:appointments rows inserted",r+"");
        Log.d("db:appointments rows after insert",this.getAllAppointments().size()+"");
        db.close();
        return r;
    }

但是当尝试使用以下命令检索数据时,我没有得到任何结果!?为什么?

编辑

这是负责检索数据的函数

public ArrayList<Appointment> getAllAppointments(){
    ArrayList<Appointment> appointments = new ArrayList<Appointment>();
    Appointment appointment = null;
    SQLiteDatabase db = this.getWritableDatabase();
    String query = "SELECT "+
            COL_EVENT_ID+ " as _id,"+
            COL_START_DATE+", "+
            COL_END_DATE+", "+
            COL_EVENT_BODY+", "+
            COL_EVENT_TITLE+", "+
            COL_STUDENT_ID+", "+    
            COL_EVENT_STATUS+", "+
            COL_SERVICE_NUMBER+", "+
            COL_PASSWORD+", "+
            COL_LECTURER_ID+", "+       
            COL_SEC_NO+", "+
            COL_DEPT_NO+","+
            COL_FLOOR_NO+" from "+TIMETABLE_TABLE;
    Log.d("select query",query);
    Cursor c = db.rawQuery(query,new String[]{});
    Log.d("cursor",c.getCount()+"");
    c.moveToFirst();
    while(c.moveToNext()){
        appointment = new Appointment();
        try {
            appointment.mEventId = c.getInt(c.getColumnIndex("_id"));
            Date startDate = formatter.parse(formatter.format(formatter.parse(c.getString(c.getColumnIndex(COL_START_DATE)))));
            appointment.mStartDate = startDate;
            Date endtDate = formatter.parse(formatter.format(formatter.parse(c.getString(c.getColumnIndex(COL_END_DATE)))));
            appointment.mEndDate = endtDate; 
            appointment.mBody = c.getString(c.getColumnIndex(COL_EVENT_BODY));
            appointment.mTitle = c.getString(c.getColumnIndex(COL_EVENT_TITLE));
            appointment.mStudentId = c.getString(c.getColumnIndex(COL_STUDENT_ID));
            appointment.mSatus = c.getInt(c.getColumnIndex(COL_EVENT_STATUS));
            appointment.mServiceNo = c.getInt(c.getColumnIndex(COL_SERVICE_NUMBER));
            appointment.mPassword = c.getString(c.getColumnIndex(COL_PASSWORD));
            appointment.mLecturerId = c.getInt(c.getColumnIndex(COL_LECTURER_ID));
            appointment.mSecNo = c.getInt(c.getColumnIndex(COL_SEC_NO));
            appointment.mDeptNo = c.getInt(c.getColumnIndex(COL_DEPT_NO));
            appointment.mFloorNo = c.getInt(c.getColumnIndex(COL_FLOOR_NO));
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        appointments.add(appointment);
    }
    db.close();
    return appointments;
}

try this…

在插入值时使用SQLiteDatabase db = this.getWritableDatabase();

读取时使用SQLiteDatabase db=this.getReadableDatabase();

最新更新