/**
* * Title: selectAllPhone *Description:查询所有的Phone对象 * @return * @see
* com.sms.ntlm.dao.PhoneDao#selectAllPhone()
*/
@SuppressLint("SimpleDateFormat")
@SuppressWarnings("deprecation")
@Override
public List<Phone> selectAllPhone() {
Cursor cursor=null;
List<Phone> list=new ArrayList<Phone>();
String sql="select * from "+PhoneSQLConstant.TABLE_NAME+";";
db=mOpenHelper.getWritableDatabase();
if(mOpenHelper!=null && db.isOpen()){
// cursor=db.query(PhoneSQLConstant.TABLE_NAME, null, null, null, null, null, null);
cursor=db.rawQuery(sql, null);
}
if (cursor != null) {//原因就是这个地方出错了:我在这个地方加了个if (cursor != null && cursor.moveToFirst()) {
while (cursor.moveToNext()) {
Phone phone=new Phone();
phone.setPhoneId(cursor.getInt(cursor.getColumnIndex(PhoneSQLConstant.PHONE_ID)));
phone.setPhoneNum(cursor.getString(cursor.getColumnIndex(PhoneSQLConstant.PHONE_NUM)));
phone.setPhoneDate(cursor.getString(cursor.getColumnIndex(PhoneSQLConstant.PHONE_DATE)));
list.add(phone);
}
}
this.closeCursorDB(cursor);
return list;
}
控制台输出的结果是:05-15 03:12:44.017: I/System.out(12634): testselectAllPhone.size()..............0
我在数据库中查询的结果是:
D:\zzz>sqlite3 PhoneMassage.db
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .table
MyPhone Phone android_metadata
sqlite> select * from MyPhone
...> ;
1|1234|2015-05-15
sqlite> ^C