首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web浏览器中的SQL数据库存储Javascript/HTML5

web浏览器中的SQL数据库存储Javascript/HTML5
EN

Stack Overflow用户
提问于 2011-10-25 22:38:45
回答 1查看 2.2K关注 0票数 1

在运行时创建的SQLite数据库中执行查询后,显示结果时出现问题。

以下是我的代码

创建数据库

代码语言:javascript
复制
var mydb=false;

// initialise the database
initDB = function() {
  try { 
    if (!window.openDatabase) { 
      alert('not supported'); 
    } else { 
      var shortName = 'APP_DB'; 
      var version = '0.1'; 
      var displayName = 'It Happened Today DB'; 
      var maxSize = 262144; // in bytes, 256kb 
      mydb = openDatabase(shortName, version, displayName, maxSize); 
     }
  } 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; 
  } 
}

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

// null db data handler
nullDataHandler = function (transaction, results) { } 

创建表并插入值

代码语言:javascript
复制
 // create tables for the database
createTables = function() {

  try {
   mydb.transaction(
      function(transaction) {
        transaction.executeSql('CREATE TABLE milestones (ID INT( 10 ) NOT NULL, Title    VARCHAR( 50 )    DEFAULT NULL, mYear    INT( 11 )        NOT NULL, mMonth   INT( 11 )        DEFAULT NULL,  mDay     VARCHAR( 10 )    DEFAULT NULL, mText    VARCHAR( 2000 )  NOT NULL,  Theme1   VARCHAR( 50 )    DEFAULT NULL, Theme2   VARCHAR( 50 )    DEFAULT NULL, ImageURL VARCHAR( 50 )    DEFAULT NULL, PRIMARY KEY ( ID ));', [], nullDataHandler, errorHandler); 
        transaction.executeSql('INSERT INTO [milestones] ([ID], [Title], [mYear], [mMonth], [mDay], [mText], [Theme1], [Theme2], [ImageURL]) VALUES (2, "Cotton Mather", 1721, 6, 26, "Following the recommendation of Rev. Cotton Mather, Dr. Zabdiel Boylston of Boston completes the first inoculation against smallpox in the U.S., injecting his own son and two of his slaves.", "HIAm", null, "6-26 Cotton Mather3g04597v.jpg");', [], nullDataHandler, errorHandler); 
        transaction.executeSql('INSERT INTO [milestones] ([ID], [Title], [mYear], [mMonth], [mDay], [mText], [Theme1], [Theme2], [ImageURL]) VALUES (6, "New York Hospital", 1771, 6, 13, "New York Hospital, the second in the colonies after the Pennsylvania Hospital, receives a royal charter from King George III under the name Society of the Hospital in the City of New York in America, later changed to Society of New York Hospital.", "HIAm", null, "Default.png");', [], nullDataHandler, errorHandler); 
        });

  } catch(e) {
    /// alert(e.message);
    return;
  }
};

TEXT2HTML

代码语言:javascript
复制
milestonesDataHandler = function(transaction, results){
    var html = "";
    for(var i=0; i < results.rows.length; i++){
        var row = results.rows.item(i);
        html += '<li class="elist"> \
        <a href="article.template.html?id=">'+row['id']+'data-transition="none"> \
            <img src="img/">'+row['ImageURL']+'" height="70" width="70" /> \
            <h4>'+row['Title']+'</h4> \
            <p>'+ dateFormat($row['mYear']+' '+$row['mMonth']+' '+$row['mDay'])+'</p> \
        </a> \
        </li>';
    }
}

执行查询

代码语言:javascript
复制
loadMilestones = function(){
try {
    mydb.transaction(
        function(transaction){
            transaction.executeSql("SELECT * FROM milestones", [], milestonesDataHandler, errorHandler);
         });
}
 catch(e) {
    alert(e.message);
  }

}

在HTML文档的末尾,我这样做:

代码语言:javascript
复制
<script>$("div.miles").html(milestonesDataHandler);</script>

不显示任何内容。当我转到Chrome调试器时,它显示: 131未捕获长度:无法读取未定义的属性‘TypeError’。

这指的是TEXT2HTML部件中的第三行。由于某种原因,结果变量似乎没有被填充。

你能帮我解决这个问题吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-07-03 07:26:27

未调用createTables,因此在调用milestonesDataHandler之前,不会创建表,也不会使用任何要显示的结果来填充该表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7891001

复制
相关文章

相似问题

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