【发布时间】:2014-09-05 13:40:46
【问题描述】:
大家好,我有多个插入语句的问题,我需要插入许多记录。我以这种方式编写过,但记录没有插入到“userbill”表中。帮我??
.. 这是代码:
SQLiteDatabase db = mySQLiteHelper.getWritableDatabase();
String sql = "insert into userbill (billid, userid, date, amount, bill_status) values (?, ?, ?, ?, ?)";
db.beginTransaction();
SQLiteStatement st = db.compileStatement(sql);
try{
for(int i=0;i<Userid.length;i++)
{
st.bindLong(1, billid);
st.bindString(2, Userid[i]);
st.bindString(3, due_date);
st.bindDouble(4, amount/Userid.length);
st.bindString(5, "Due");
long entryID = st.executeInsert();
st.clearBindings();
}
db.setTransactionSuccessful();
}
catch(Exception e)
{
//e.printStackTrace();
Log.e("MYAPP", "exception", e);
}
finally
{
db.endTransaction();
}
db.close();
日志猫:
09-05 13:12:48.610: D/dalvikvm(7982): GC_FOR_ALLOC 释放 314K,10% 释放 5030K/5568K,暂停 17ms,总共 18ms
09-05 13:12:48.610:I/dalvikvm-heap(7982):将堆(碎片情况)增加到 6.181MB,分配 1127532 字节
09-05 13:12:48.614: D/dalvikvm(7982): GC_FOR_ALLOC 释放 2K,9% 释放 6129K/6672K,暂停 5ms,总共 5ms
09-05 13:12:48.710:W/EGL_genymotion(7982):eglSurfaceAttrib 未实现
09-05 13:12:57.014:I/SQLiteConnectionPool(7982):/data/data/com.perfect12.app2maintain/databases/AMTDB 的连接池已关闭,但仍有 1 个连接在使用中。当它们被释放回池中时,它们将被关闭。
09-05 13:12:57.286:W/EGL_genymotion(7982):eglSurfaceAttrib 未实现
【问题讨论】:
-
任何类型的错误信息?你可以发布 logcat 吗?
-
感谢您的回复,但没有收到任何错误。
-
尝试删除“;”在您的语句字符串中的声明中,并确保 UserId 不是 0..
-
感谢您的回复。在我删除分号“;”后它现在可以工作了在sql语句中。
标签: android sqlite insert bulkinsert