android sqlite 已经插入到数据库的数据查不到
发布网友
发布时间:2022-04-07 17:42
我来回答
共6个回答
懂视网
时间:2022-04-07 22:03
* * 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
sqlite数据库中第一条数据查不出来!
标签:
热心网友
时间:2022-04-07 19:11
楼主取数据的循环方式有点问题,试试下面的
for(cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext())
{
HashMap map=new HashMap();
map.put("num1", cursor.getString(1));
map.put("num2", cursor.getString(2));
map.put("num3", cursor.getString(3));
map.put("salesub", cursor.getString(4));
map.put("addr", cursor.getString(6));
map.put("phonenum", cursor.getString(7));
list.add(map);
}
热心网友
时间:2022-04-07 20:29
数据库创建需要首次初始化,不过你的创建数据表是在helper的onCreate方法里面,此时表中还没数据只能执行添加,
你的那个意思就是所谓理解错了面向对象,你的思路就是启动activity,然后new个数据实例,然后系统会调用创建方法,然后你在执行添加操作,操作完之后你想继续查询,这是典型的面向过程
热心网友
时间:2022-04-07 22:04
有没有报错什么的???
热心网友
时间:2022-04-07 23:55
Android 使用Sqlite数据库时,插入了数据,不报错,但查询不到
(初学者)今天写安卓的时候遇见这么一个问题,我觉得挺有趣的,就是cursor查询时,用cursor.getString(1),这种居然不能精确定位到行位置(可能是从0开始?有时间再细纠一下),得用cursor.getString(cursor.getColumnIndex(“name”))才能准确定位到某一行,这对于写java习惯了的人来说太难受了,所以一时也没反应过来,找了好久也没看见有这方面的回答,可能太基础了QAQ。不过还是写出来分享给大家。提供一个排查小思路!
sqlite创建表成功,insert不报错,但没有数据插入
sqlite创建表成功,insert不报错,但没有数据插入
浏览器打开
安卓奇葩问题之SQLite条件查找不到数据
今天真是日了狗了。 先说需求:要做一个累死支付宝首页的可自定义的栏目。栏目是动态从后台获取的,所以就会有一个本地数据和后台数据的同步问题。为了方便对本地数据的增删改查,首先想到SQLite。 然后就写了个工具类,调用接口后,先进行插入操作,成功;然后查询所有数据,成功; 然而,人生处处是惊喜。根据ID进行的查询、删除、更新,都会报错:游标的index越界了。 那就是没有查到数据嘛...
浏览器打开
sqlite数据库中有数据,但是程序里面却看不到数据,程序没有问题,解决办法!!!
在使用PDA的过程中,发现数据库有数据,但是程序里面却看不到数据,程序没有问题,刚开始一直怀疑是程序的问题,但是其他的pda采用这套程序,使用过程中都没有出现这个问题 往上找了很多资料,和调试bug,问题一直没有解决. 经过多次寻找,产生的此问题的可能原因如下: 1.pda当前的年月日和数据库的对应表的时间对不上, 如pda没有同步时间的时,默认的时间是1970.1.1,如
浏览器打开
Android SQLite无法查询数据
Android SQLite无法查询数据,可以正常插入数据,也提示插入成功了,但是执行下列语句输入的英文字符,却总是会查出来数字,不是字符。。第一次接触这个,不清楚是怎么回事请帮忙说的详细点,谢谢。。 package com.example.path_n; //主类 import java.sql.Date; import java.text.SimpleDateFormat; import j
浏览器打开
Android sqlite数据库update之后数据查询数据获取不实..._CSDN博客
最近写项目的时候用android自带的数据库SqliteDatabase,使用过程中发生了这样一件事情,我在Activity B中读取数据库表User中的数据,显示在UI上,然后跳转到Activity A...
Android sqlite数据库update之后数据查询数据获取不实..._CSDN博客
最近写项目的时候用android自带的数据库
热心网友
时间:2022-04-08 02:03
在使用PDA的过程中,发现数据库有数据,但是程序里面却看不到数据,程序没有问题,刚开始一直怀疑是程序的问题,但是其他的pda采用这套程序,使用过程中都没有出现这个问题
往上找了很多资料,和调试bug,问题一直没有解决.
经过多次寻找,产生的此问题的可能原因如下:
1.pda当前的年月日和数据库的对应表的时间对不上, 如pda没有同步时间的时,默认的时间是1970.1.1,如果只改了月和日,忽略了改年.结果导致数据库找不到对应的表,所以导致问题产生
2.在程序没有退出的过程中,即刻导入有数据的数据库,,程序一直在查询老表没有数据的数据库的过程中,会把新导入的数据库给删除掉,导致,重新登陆这个程序后,依然没有发现数据. 解决办法:先程序退出,然后把没有数据的数据库删除掉,重新导入有数据的数据库,打开软件, 禁止时间同步,即可!