android sqlite 已经插入到数据库的数据查不到 5

publicvoidinsert_order(intnum1,intnum2,intnum3,intsalesub,Stringfinish,Stringaddr,Str... public void insert_order(int num1,int num2,int num3,int salesub,String finish,String addr,String phonenum){

String sql="insert into t_order(num1,num2,num3,salesub,finish,addr,phonenum) values ('"+num1+"','"+num2+"','"+num3+"','"+salesub+"','"+finish+"','"+addr+"','"+phonenum+"')";
// sdb.beginTransaction();
sdb.execSQL(sql);
//sdb.beginTransactionNonExclusive();
sdb.close();
}
public List findall(){

Cursor cursor=sdb.rawQuery("select * from t_order where finish=?", new String[]{"no"});
List list=new ArrayList();
cursor.moveToFirst();
while(!cursor.isLast()){
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);
cursor.moveToNext();
}
cursor.moveToFirst();
//sdb.close();
return list;
}
展开
 我来答
vwigdem2015
推荐于2018-05-06
知道答主
回答量:1
采纳率:100%
帮助的人:1282
展开全部
楼主取数据的循环方式有点问题,试试下面的
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);
}
爆米花9958
2015-05-17 · 心动一万次,不如行动一次
爆米花9958
采纳数:90 获赞数:200

向TA提问 私信TA
展开全部
数据库创建需要首次初始化,不过你的创建数据表是在helper的onCreate方法里面,此时表中还没数据只能执行添加,
你的那个意思就是所谓理解错了面向对象,你的思路就是启动activity,然后new个数据实例,然后系统会调用创建方法,然后你在执行添加操作,操作完之后你想继续查询,这是典型的面向过程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活he家
2014-12-12 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部
有没有报错什么的???
更多追问追答
追问
没有报错 而且重运行下程序的话才会显示上次添加的数据
追答
你是在哪测试的??手机还是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
犁冰057
2020-11-13 · TA获得超过1314个赞
知道小有建树答主
回答量:1862
采纳率:92%
帮助的人:47.8万
展开全部
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自带的数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活导师上官姐姐

2020-11-13 · TA获得超过3.5万个赞
知道大有可为答主
回答量:3.2万
采纳率:98%
帮助的人:973万
展开全部
在使用PDA的过程中,发现数据库有数据,但是程序里面却看不到数据,程序没有问题,刚开始一直怀疑是程序的问题,但是其他的pda采用这套程序,使用过程中都没有出现这个问题

往上找了很多资料,和调试bug,问题一直没有解决.

经过多次寻找,产生的此问题的可能原因如下:

1.pda当前的年月日和数据库的对应表的时间对不上, 如pda没有同步时间的时,默认的时间是1970.1.1,如果只改了月和日,忽略了改年.结果导致数据库找不到对应的表,所以导致问题产生

2.在程序没有退出的过程中,即刻导入有数据的数据库,,程序一直在查询老表没有数据的数据库的过程中,会把新导入的数据库给删除掉,导致,重新登陆这个程序后,依然没有发现数据. 解决办法:先程序退出,然后把没有数据的数据库删除掉,重新导入有数据的数据库,打开软件, 禁止时间同步,即可!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式