无法插入sqlite

时间:2018-11-06 17:40:58

标签: java sql typescript ionic-framework

我总体上仍在学习离子和编程。我点击了Internet上的链接,就可以创建白色并读取必要的数据,但无法在创建的表中插入数据。谁能帮我这个?

我遵循本教程:ionic-sqlite

我的代码:

getRegiao() {                  // Regiões // 
return new Promise<Regiao[]>((resolve, reject) => {
  let sql = "SELECT NOM_REGIAO, ID " +
    "FROM TB_REGIAO  "


  this.executeQuery(sql).then(data => {
    let regioes = [];
    if (data != undefined)
      data.forEach(function (row) {
        let regiao: Regiao = { nom_regiao: row[0], id: row[1] }
        regioes.push(regiao);
      });
    resolve(regioes);

  }).catch(error => {
    console.log(error);
  });

});

}

 addUser() {

let sql = "INSERT INTO TB_USUARIO (EMAIL) VALUES ('BLITCRANK@HOTMAIL.COM')";
// let sql = "SELECT EMAIL FROM TB_USUARIO";
this.executeQuery(sql);
}

executeQuery(sql: string) {
let db: any;
return new Promise<any>((resolve, reject) => {
  let xhr = new XMLHttpRequest();
  xhr.open('GET', this.dbName, true);
  xhr.responseType = 'arraybuffer';

  xhr.onload = (e) => {
    let uInt8Array = new Uint8Array(xhr.response);
    db = new SQL.Database(uInt8Array);
    let contents = db.exec(sql);
    console.log(contents);
    if (contents.length > 0)
      resolve(contents[0].values);
    else 
      resolve("query executada sem retorno")
  };
  xhr.send();

});
}

1 个答案:

答案 0 :(得分:0)

请使用此plugin,这是我正在使用的插件。

使用db.executeSql('create table danceMoves(name VARCHAR(32))', {})这样的执行sql时要注意

而是使用此db.executeSql('create table danceMoves(name VARCHAR(32))', [])

我不知道为什么不使用对象'{}'而是将其替换为数组'[]',我认为他们忘记更新文档了