我在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