Ошибка телефонной связи при использовании веб-базы данных: «результат выражения« mydb »[null] не является объектом» - PullRequest
0 голосов
/ 31 января 2012

Я использовал эту реализацию -> http://wiki.phonegap.com/w/page/16494756/Adding%20SQL%20Database%20support%20to%20your%20iPhone%20App

Вот мой код

 var mydb=false;

// initialise the database
initDB = function() {
  try {
    if (!window.openDatabase) {
      alert('not supported');
    } else {
      var shortName = 'test';
      var version = '1.0';
      var displayName = 'PhoneGap Test Database';
      var maxSize = 65536; // in bytes
      mydb = openDatabase(shortName, version, displayName, maxSize);
      alert("Done");
     }
  } catch(e) {
    // Error handling code goes here.
    if (e == INVALID_STATE_ERR) {
      // Version number mismatch.
      alert("Invalid database version.");
    } else {
      alert("Unknown error "+e+".");
    }
    return;
  }
}


 celebsDataHandler=function(transaction, results) {
      // Handle the results
      var html = "<ul>";
      alert("Length = "+results.rows.length);
      for (var i=0; i<results.rows.length; i++) {
        var row = results.rows.item(i);
        html += '<li>'+row['id']+'</li>\n'
      }
      html +='</ul>';
      alert(html);
    }


    // load the currently selected icons
    loadCelebs = function() {
      try {
        mydb.transaction(
            function(transaction) {
               transaction.executeSql('SELECT * FROM call_details ORDER BY id',[], celebsDataHandler, errorHandler);
            });

      } catch(e) {

        alert("Here"+e.message);
      }

      // db error handler - prevents the rest of the transaction going ahead on failure
      errorHandler = function (transaction, error) {
        alert(error);
        return true;
      }

}

После инициализации базы данных.Я вызываю loadCelebs () и затем получаю ошибку.Как это решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...