android 数组添加数据,android – 使用ContentValues数组批量插入

我知道这将是粗鲁的,但只是丢掉这段代码.提供程序具有处理大多数SQLite操作的主要方法,并且您尝试将其中的三个(insert(),bulkInsert()和applyBatch())混合到某种类型的Frankenstein中.以下是主要错误:

1)此行values.put(DataTable.COLUMN_DATA,tempVal)未在每次迭代时插入新条目;它压倒了他们.在所有迭代之后,值仅包含数组的第700个浮点值.

2)正如@Karakuri记得的那样,cvArray中只有一个ContentValues实例. bulkInsert()doc说明了它的第二个参数:

An array of sets of column_name/value pairs to add to the database. This must not be null.

因此,cvArray必须包含要插入数据库的每个条目的ContentValues实例(一组).

3)不完全是一个错误,但你应该注意的事情.无法保证mTables将存在,并且尝试在不指定表的情况下进行操作将抛出SQLException.

4)这三行基本没用:

if (newId <= 0) {

throw new SQLException("Failed to insert row into " + uri);

}

如果在插入操作期间发生某些错误,insertOrThrow()已经抛出异常.如果要手动检查错误,请尝试insert()或insertWithOnConflict()(或者在try块中添加一个catch并在那里处理异常).

5)最后,有一个关于numInserted @petey指向的问题(并且没有必要重复).

最后一条建议:忘记bulkInsert()存在.我知道这将需要更多行代码,但使用applyBatch(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值