使用React Native在Sqlite中插入多个记录

我尝试使用SQLite在React Native中插入多行。

这是代码:

rows = responseJson.rows;

     for (i = 0; i < rows.length; i++) {

        row=rows[i];
        query = `insert into ComuniUseraccountSync values (
            ${row.IDComuniUseraccountSync},${row.IdAzienda},${row.IdComune},${row.IdUseraccount},'${row.DescrizioneComune}','${row.DateLastUpdateMaster}'
        )`;


        db.transaction(
            tx => {
                tx.executeSql(query,[],(a,b) =>
                    console.log("!OK!!",JSON.stringify(b)),b) =>
                        console.log("!ERROR!!",a,b)
                )

            }
       );

     }

但是结果是我只插入最后一行很多次!这是

的输出
db.transaction(
        tx => {
            tx.executeSql("select IDComuniUseraccountSync from ComuniUseraccountSync",b) =>
            console.log("!OK!",b) =>
            console.log("!ERROR!!",JSON.stringify(b))
    );
        }
    );

!好! {“ rowsAffected”:0,“ rows”:{“ _ array”:[{“ IDComuniUseraccountSync”:72},{“ IDComuniUseraccountSync”:72},{“ IDComuniUseraccountSync”:72},{“ IDComuniUseraccountSync”:72},{ “ IDComuniUseraccountSync”:72},.......

有帮助吗? 最高

wangzhenhua7 回答:使用React Native在Sqlite中插入多个记录

insertCategories(arrCateData){


  let keys = Object.keys(arrCateData[0])

  let arrValues = []

    var len = arrCateData.length;



    for (let i = 0; i < len; i++) {
      arrCateData[i].image = `"${arrCateData[i].image}"`;
      arrCateData[i].thumbnail = `"${arrCateData[i].thumbnail}"`;
      arrCateData[i].name = `"${arrCateData[i].name}"`;
      arrCateData[i].path = `"${arrCateData[i].path}"`;
      arrValues.push("(" + Object.values(arrCateData[i]) +")");
    }

    // console.log(arrValues)


  return new Promise((resolve) => {
    this.initDB().then((db) => {
      db.transaction((tx) => {
        tx.executeSql("INSERT INTO category ("+ keys + ") VALUES " + String(arrValues)).then(([tx,results]) => {
          resolve(results);
        });
      }).then((result) => {
        this.closeDatabase(db);
      }).catch((err) => {
        console.log(err);
      });
    }).catch((err) => {
      console.log(err);
    });
  });  

}

此代码可以帮助您我将数组传递给函数,并将根据您的要求插入数据jusr更改数据

本文链接:https://www.f2er.com/3159684.html

大家都在问