多条数据插入SQLite 查询出来只显示第一条,其余不显示 30
我现在通过读取json数据,每个字段都得到多条数据,然后插入到SQLite数据库中,但是查询时,只有一条数据,并且是第一条,其余的数据都没有插入进去代码如下:for(in...
我现在通过读取json数据,每个字段都得到多条数据,然后插入到SQLite数据库中,但是查询时,只有一条数据,并且是第一条,其余的数据都没有插入进去
代码如下:
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject personObject = jsonArray.getJSONObject(i);
// 代办公文列表数据
title = personObject.getString("title");
rectime = personObject.getString("rectime");
resources = personObject.getString("resources");
coding = personObject.getString("coding");
type = personObject.getString("type");
url_show = personObject.getString("url");
//将待办事项中的数据保存在库中
try {
System.out.println("我执行了几次啊");
DiaryAdapter adapter = new DiaryAdapter(OfficeActivity.this);
Diary diary = new Diary("标题:" + title, "接收时间:"
+ rectime , "来源:" + resources);
adapter.save(diary);
} catch (SQLiteConstraintException e) {
e.printStackTrace();
}}
后台打印 title、rectime等字段值都会出现两次,但是只插入了一条数据。
打印System.out().也是执行两次
插入数据的sql如下:
public void save(Diary diary) {
// getWritableDatabase和getWritableDatabase方法在磁盘空间没满的情况下一样
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
/* SQLiteDatabase db2=dbOpenHelper.getWritableDatabase(); */// db==db2
String sql = "insert into Daiban(title,resources,time) values(?,?,?)";// 防止潜在 的bug
db.execSQL(sql, new Object[] { diary.getTitle(), diary.getResources(),diary.getTime()});
db.close();
} 展开
代码如下:
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject personObject = jsonArray.getJSONObject(i);
// 代办公文列表数据
title = personObject.getString("title");
rectime = personObject.getString("rectime");
resources = personObject.getString("resources");
coding = personObject.getString("coding");
type = personObject.getString("type");
url_show = personObject.getString("url");
//将待办事项中的数据保存在库中
try {
System.out.println("我执行了几次啊");
DiaryAdapter adapter = new DiaryAdapter(OfficeActivity.this);
Diary diary = new Diary("标题:" + title, "接收时间:"
+ rectime , "来源:" + resources);
adapter.save(diary);
} catch (SQLiteConstraintException e) {
e.printStackTrace();
}}
后台打印 title、rectime等字段值都会出现两次,但是只插入了一条数据。
打印System.out().也是执行两次
插入数据的sql如下:
public void save(Diary diary) {
// getWritableDatabase和getWritableDatabase方法在磁盘空间没满的情况下一样
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
/* SQLiteDatabase db2=dbOpenHelper.getWritableDatabase(); */// db==db2
String sql = "insert into Daiban(title,resources,time) values(?,?,?)";// 防止潜在 的bug
db.execSQL(sql, new Object[] { diary.getTitle(), diary.getResources(),diary.getTime()});
db.close();
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询