gpt4 book ai didi

android - 在Android 4.0.3中插入错误SqLite

转载 作者:行者123 更新时间:2023-12-02 05:43:46 25 4
gpt4 key购买 nike

我的 Android 4.0.3v 平板电脑出现 Sqlite 问题;

错误:

07-28 14:28:18.495    6995-7125/com.titan.tablet E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-544
android.database.sqlite.SQLiteException: near ",": syntax error: , while compiling: INSERT INTO tb_ingrediente ( ID_INGREDIENTE , DESCRICAO , ATIVO , UNIDADE ) VALUES
(1, 'CARNE', 1, 'UN'),
(2, 'QUEIJO', 1, 'UN'),
(3, 'PRESUNTO', 1, 'UN'),
(4, 'OVO', 1, 'UN'),
(5, 'FARINHA', 1, 'UN'),
(6, 'SALADA', 1, 'UN'),
(7, 'CEBOLA', 1, 'UN'),
(8, 'COCA-COLA 2L', 1, 'UN'),
(9, 'ÓLEO', 1, 'UN'),
(10, 'TOMATE', 1, 'UN');

在我的 Android 4.1.2 手机中,不会出现此问题。

插入代码:

 db.execSQL("INSERT INTO  tb_ingrediente  ( ID_INGREDIENTE ,  DESCRICAO ,  ATIVO ,  UNIDADE ) VALUES\n" +
"(1, 'CARNE', 1, 'UN'),\n" +
"(2, 'QUEIJO', 1, 'UN'),\n" +
"(3, 'PRESUNTO', 1, 'UN'),\n" +
"(4, 'OVO', 1, 'UN'),\n" +
"(5, 'FARINHA', 1, 'UN'),\n" +
"(6, 'SALADA', 1, 'UN'),\n" +
"(7, 'CEBOLA', 1, 'UN'),\n" +
"(8, 'COCA-COLA 2L', 1, 'UN'),\n" +
"(9, 'ÓLEO', 1, 'UN'),\n" +
"(10, 'TOMATE', 1, 'UN');" );

有人可以帮我找出为什么该错误只发生在 android 4.0.3 中吗?

最佳答案

插入值时,一次只能插入一条记录。无法使用单个语句批量插入多条记录。如果您要进行大量插入,您可以缓存所有插入语句并一次提交它们,以使过程更快。

    db.beginTransaction();
try {
db.execSQL("delete from " + Table);
int Xtra = cols.getColumnCount() - tabledata.get(0).size();
for (ArrayList<String> item : tabledata) {
for (int a=0;a<Xtra;a++) {item.add("");}
db.execSQL("insert into " + Table + " values " + rowValues(item) + ";");
}
db.setTransactionSuccessful();
} catch (Exception e) {
Log.e("DBWrapper", "insertArrayList error: " + e.getMessage());
} finally {
db.endTransaction();
}

关于android - 在Android 4.0.3中插入错误SqLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25000989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com