批量插入不适用于Android 4.4或任何版本<五

时间:2016-09-22 09:05:31

标签: javascript android sqlite cordova ionic-framework

我在sqlite中创建了两个插入函数,

在Android 5或更高版本中都可以正常工作。

在Android 4或更低版本中,Single Insert工作正常,

但是,批量插入时会出错

could not prepare statement (1 near ",": syntax error)

单次插入

            function insert(TABLENAME, COLNAME, VALNAME, callBack) {

                var query = "INSERT INTO " + TABLENAME + "(" + COLNAME + ") VALUES (" + VALNAME + ") ";
                $ionicPlatform.ready(function () {
                    $cordovaSQLite.execute(db, query).then(function (res) {
                        console.log("INSERT " + TABLENAME + " -> " + res);
                        if (callBack)
                            callBack();
                    }, function (err) {
                        console.error(err);
                    });
                });
            }

批量插入

            function bulkInsert(TABLENAME, COLNAME, VALNAMES, DATA, callBack) {

                var query = "INSERT INTO " + TABLENAME + "(" + COLNAME + ") VALUES ";
                var data = DATA;
                var rowArgs = [];
                query += VALNAMES.join(", ");
                $cordovaSQLite.execute(db, query, data).then(function (res) {
                    console.log("inserted");
                    if (callBack)
                        callBack();
                }, function (err) {
                    console.log(err);
                });

            }

任何人都可以帮助我,我该如何解决这个问题?

PS:批量插入参数将是这样的,

bulkInsert('users', 'id,name', ['(?,?)','(?,?)'], [[1,'abc'],[2,'xyz']], function(){});

我问的是Cordova-SQLite而不是Android SQLite

0 个答案:

没有答案