【发布时间】:2013-07-27 18:28:47
【问题描述】:
我需要填充我的 sqlite 数据库。我需要使用多条记录插入来做到这一点。在我探索的过程中,我发现有多种方法可以实现这一点,例如 bulkinsert() 函数、ContentValues[] 数组 等。但我选择使用 SELECT 和 UNION SELECT。我已经创建了 SQLiteOpenHelper 类,现在我必须通过以下查询一次添加多条记录:
db.execSQL("INSERT INTO "+tourEntry.TABLE+
" SELECT "+tourEntry._ID+" AS 'Tour_ID', "+tourEntry.TOURTYPE+" AS 'Tour_Type', "+tourEntry.TOURNAME+" AS 'Tour_Name', "+tourEntry.NIGHTS+" AS 'Nights', "+tourEntry.DAYS+" AS 'Days', "+tourEntry.PIC+" AS Pic" +
" UNION SELECT '1', '3', 'Delhi Tour', '1', '2', 'img/mini-vacation/lotus.png'"+
" UNION SELECT '2', '3', 'Taj Mahal Tour By Train (Same Day Return)', '1', '1', 'img/mini-vacations/taj-train.jpg'"+
" UNION SELECT '3', '3', 'Taj Mahal Trip By Car (Same Day Return)', '1', '1', 'img/mini-vacations/'"+
" UNION SELECT '4', '3', 'Taj Mahal Trip', '1', '2', 'img/mini-vacations/noimg.png'"+
" UNION SELECT '5', '3', 'Pink City Tour (Same Day Return)', '1', '1', 'img/mini-vacations/noimg.png'");
问题:
1.上述查询是否适合多条记录插入?
2.是数据库适配器类总是与数据库交互的必需品还是只是在MainActivity中编写一个方法来执行这个插入查询并调用MainActivity的oncreate方法中的方法可以正常工作?
3.我无法理解 ContentValues[] 数组和 bulkinsert() 函数的实现,这也是基于 ContentValues 数组解释的。在哪里以及如何使用它们?
4. 测试数据库和项目的连接是否成功以及我们是否可以成功检索数据的最佳方法是什么?
如果有人能启发这些概念,我将非常感激。
【问题讨论】:
标签: android sqlite android-sqlite bulkinsert sqliteopenhelper