sqlite数据库中第一条数据查不出来!

/**
*  * 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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
这是一个返回 ArrayList<Book> 类型的方法,它有一个 DBHelper 类型的参数 dbHelper,用于获取数据库连接。 第一行代码定义了方法的返回类型以及方法名称和参数列表。 ```java public ArrayList<Book> BookGrid(DBHelper dbHelper) ``` 第二行代码获取数据库连接并返回一个可写的 SQLiteDatabase 对象。 ```java SQLiteDatabase db = dbHelper.getWritableDatabase(); ``` 第三行代码通过 db.query() 方法询 book 表数据,并返回一个 Cursor 对象,询结果按照 id 倒序排列。 ```java Cursor cursor = db.query("book", new String[]{"id","bookname","author","inventory"}, null, null, null, null, "id desc"); ``` 第四行代码创建一个 ArrayList<Book> 对象用于存储询结果。 ```java ArrayList<Book> list = new ArrayList<>(); ``` 第五行代码判断 Cursor 对象不为空且询结果数量大于0,如果为真则进入 while 循环。 ```java if (cursor != null && cursor.getCount() > 0){ while (cursor.moveToNext()){ // ... } } ``` 第六行代码通过 cursor.getColumnIndex() 方法获取 id 字段的索引并获取该字段的值,接着获取 bookname、author 和 inventory 字段的值,创建一个 Book 对象并添加到 list 集合。 ```java String id = cursor.getString(cursor.getColumnIndex("id")); String bookname = cursor.getString(cursor.getColumnIndex("bookname")); String author = cursor.getString(cursor.getColumnIndex("author")); int inventory = cursor.getInt(cursor.getColumnIndex("inventory")); Book book = new Book(id,bookname,author,inventory,2); list.add(book); ``` 第八行代码关闭数据库连接。 ```java db.close(); ``` 最后一行代码返回询结果。 ```java return list; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值