2

我正在使用 jquery mobile/phonegap 创建一个 iphone webapp,并且我正在尝试使用 web 数据库。我有大约 700 条记录要插入,并且希望有一个带有 sql 语句的单独文件来创建表并在应用程序运行的第一次插入记录。我决定使用一个名为html5sql的小型 javascript 模块,因为它给了我在一个事务中执行多个 sql 语句的优势。

例如我可以执行

sql = "CREATE TABLE milestones ( 
       ID       INT( 10 )        NOT NULL,
       Title    VARCHAR( 50 )    DEFAULT NULL,
       mYear    INT( 11 )        NOT NULL);
       INSERT INTO `milestones` VALUES ('2', 'Cotton Mather', '1721');";

使用

 html5sql.process(sql, function(){ //Success}, function(error, failingQuery){//Failure});

代替

transaction.executeSql('CREATE TABLE milestones (ID INT( 10 ) NOT NULL, Title VARCHAR(50 )    DEFAULT NULL, mYear    INT( 11 )        NOT NULL);', [], nullDataHandler, errorHandler); 
transaction.executeSql('INSERT INTO [milestones] ([ID], [Title], [mYear]) VALUES (2, "Cotton Mather", "1721");', [], nullDataHandler, errorHandler); 

htlm5sql 的问题在于它们没有任何关于如何使用 process 函数和 SELECT 语句从数据库中检索信息并将结果显示在 div 块中的信息。

这是 html5sql 的唯一简短指南

谁能帮我这个?

4

2 回答 2

2

当然。使用 html5sql 选择数据非常简单,可以通过以下简单的方式完成:

html5sql.process(
    ["SELECT * FROM milestones;"],
    function(transaction, results, rowsArray){
      for(var i = 0; i < rowsArray.length; i++){
        //each row in the rowsArray represents a row retrieved from the database
        var id = rowsArray[i].ID;
        var Title = rowsArray[i].Title;
        var mYear = rowsArray[i].mYear;
        console.log("Retrieved Milestone: "+id+" - "+Title+" "+mYear);
      }
    },
    function(error, statement){
      //hande error here           
    }
);

如果您想要一个更深入的示例,我不久前创建了一个jsfiddle,其中包含实际工作代码,显示了创建和填充数据库然后选择和检索数据的整个过程。

作为 html5sql 的作者,我为缺乏文档表示歉意。我正在努力改进网站上的文档,并添加更多关于如何做事的活生生的例子。

于 2011-11-17T20:16:12.450 回答
1

这让我花了很长时间才弄清楚。你真的应该在你的文档中为选择结果添加第三个参数

于 2013-04-23T15:34:29.277 回答