将Web sql中的数据读入变量

时间:2012-07-23 11:05:13

标签: jquery cordova web-sql

我正在使用websql数据库成功存储我的记录,在阅读它时,它会在第二次返回undefined时第二次返回实际值。

myDB.transaction(function(transaction) {
  transaction.executeSql('SELECT * FROM tempTelemedicine', [], function(transaction, output) {
    if (output != null && output.rows != null) {
      for (var i = 0; i < output.rows.length; i++) {
        var record = output.rows.item(i);
        this.date = record.date;
        this.firstName = record.firstName;
        this.lastName = record.lastName;
        this.address = record.address;
        this.clinic = record.clinic;
        this.mobile_no = record.mobile_no;
        this.age = record.age;
        this.age_afa = record.age_afa;
        this.number_oa = record.number_oa;
        this.number_oailsm = record.number_oailsm;
        this.months_sla = record.months_sla;
        this.sex = record.sex;
        this.predisposing = record.predisposing;
        this.color = record.color;
        this.stiff = record.stiff;
        this.shaking = record.shaking;
        this.tongue = record.tongue;
        this.incontinent = record.incontinent;
        this.head = record.head;
        this.eyes = record.eyes;
        this.communicates = record.communicates;
        this.weakness = record.weakness;
        this.comment = record.comment;
        alert("DATA SET");
        $('#lbUsers').append('<br>'+"new data"+'   '+ record.patientId
         + ' ' + record.date + ' ' + record.firstName + ' ' + record.lastName
         + ' ' + record.address + ' ' + record.clinic + ' ' + record.mobile_no
         + ' ' + record.age + ' ' + record.age_afa + ' ' + record.number_oa
         + ' ' + record.number_oailsm + ' ' + record.months_sla + ' '
         + record.sex + ' ' + record.predisposing + ' ' + record.color
         + ' ' + record.stiff + ' ' + record.shaking + ' ' + record.tongue
         + ' ' + record.incontinent + ' ' + record.head + ' ' + record.eyes
         + ' ' + record.communicates + ' ' + record.weakness + ' ' + record.comment);
      }
    }
  });
}

1 个答案:

答案 0 :(得分:3)

这是因为JavaScript的异步执行模式 Web浏览器和JavaScript共享一个用于呈现和处理代码的线程,在这种情况下,变量在被赋值之前使用。