首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有in运算符的Ionic3本机SQLite select查询

带有in运算符的Ionic3本机SQLite select查询
EN

Stack Overflow用户
提问于 2018-04-02 23:19:24
回答 2查看 2.6K关注 0票数 0

我在我的ionic-3应用程序中使用SQLite原生插件,当我试图查询一些学生时,查询不起作用。这给出的结果是空的。

代码语言:javascript
复制
//studentIds array
let studentIds = [1,2,4,5];
//Query part
this.database.executeSql("Select * from student where id in (?)", [studentIds]).then(data => {
  let students = [];
  for(let i=0; i < data.rows.length; i++) {
    students.push({id: data.rows.item[i].id, name: data.rows.item[i].name});
  }
  return students;
});
EN

回答 2

Stack Overflow用户

发布于 2018-06-22 17:19:21

这对我在Ionic 3中很有效:

代码语言:javascript
复制
//studentIds array
let studentIds = [1,2,4,5];

//Query part
this.database.executeSql(`select * from student where id in (?)`, [studentIds]).then(data => {

  let students = [];

  for(let i=0; i < data.rows.length; i++)
    students.push({id: data.rows.item(i).id, name: data.rows.item(i).name});

  return students;
});

问题出在data.rows.item[i][]上,您必须像这样使用() data.rows.item(i)

票数 1
EN

Stack Overflow用户

发布于 2018-04-03 11:53:30

对于创建数据库

代码语言:javascript
复制
   this._platform.ready().then(() => {
               this.sqlite = new SQLite();
               this.sqlite.create({name: "mymain.db", location: "default"}).then((db: SQLiteObject) => {
                    db.executeSql('CREATE TABLE IF NOT EXISTS mydata (allvalues TEXT)', {})
                    .then(() => console.log('Executed SQL'))
                    .catch(e => console.log(e));
                })
                .catch(e => console.log(e));
        });
 }

用于将数据添加到sqltie

代码语言:javascript
复制
public saveTablicaToSqlite(DataArray){
  this.sqlite.create({
  name: 'mymain.db',
  location: 'default'
  })
  .then((db: SQLiteObject) => {
       db.executeSql("INSERT INTO mydata (allvalues) VALUES (?)", [DataArray]).then((data) => {
       console.log("INSERTED: " + JSON.stringify(data));
       }, (error) => {
       console.log("ERROR: " + JSON.stringify(error.err));
    });
  })
 .catch(e => console.log(e));
}

用于获取数据

代码语言:javascript
复制
fetchdata(datavalue,splashScreen){
console.info('fetch',datavalue);
return new Promise((resolve, reject) => {
  this.sqlite.create({
  name: 'mymain.db',
  location: 'default'
  })
  .then((db: SQLiteObject) => {
    db.executeSql("SELECT * FROM mydata", []).then((data) => {
        if(data.rows.length > 0) {
            for(let i = 0; i < 1; i++) {
              var obj = JSON.parse(data.rows.item(i).allvalues);
              console.info(obj);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49613913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档