2012-02-24 62 views
0

我做错了什么? ExecuteSql不会引发任何错误,但新条目实际上并未插入到表中。为什么新条目没有插入数据库?

// connection 

var shortName = 'resultsDB'; 
     var version = '1.0'; 
     var displayName = 'QuizResultsDB'; 
     var maxSize = 655360; 
     localDB = window.openDatabase(shortName, version, displayName, maxSize); 

// tables are created succesfully 

createTables: function(){ 

     localDB.transaction(function(tx){ 

      // add not null to email 
      var query = 'CREATE TABLE IF NOT EXISTS results(User_ID INTEGER PRIMARY KEY, Name VARCHAR(255) NOT NULL, CompanyName VARCHAR(255) NOT NULL, EmailAddr VARCHAR(255) NOT NULL, TimeCount INTEGER NOT NULL, ErrorsCount INTEGER NOT NULL)'; 
      tx.executeSql(query, [], function(tx, data){ 
        }, function(tx, error){ 
        //alert('Database table creation error' + error.message + '(' + error.code + ')'); 
       }); 
     }); 
    }, // -createTables 

//试图插入一行

localDB.transaction(

       function(tx){ 

        var query = 'INSERT INTO results(Name, CompanyName, EmailAddr, TimeCount, ErrorsCount) VALUES(?, ?, ?, ?, ?)'; 

         tx.executeSql(query, [$.cookie('name'), $.cookie('companyName'), $.cookie('email'), parseInt($.cookie('timeNeeded')), parseInt($.cookie('errorsCount'))], function(tx, data){ 
        // no error thrown 

         }, function(tx, error){ 
         alert("Error saving results to local database " + error.message); 
        }); 
+0

您是否尝试插入而不传递参数,如在“查询”变量中添加一些静态值并查看它是否已插入?尝试隔离错误... – mohammedn 2012-02-24 17:10:35

回答

0

你记得做一个承诺,你的交易?

+0

不执行SQL吗?我是新来的html5本地数据库,所以很抱歉,如果这似乎是一个愚蠢的问题;)。 – 2012-02-24 17:29:30

+0

不要担心,没有问题是愚蠢的:)老实说,我从来没有用过它,我只是想帮助因为我已经多次看到这个问题,它总是一个提交失踪问题。所以这只是一个暗示。不要忘记尝试穆罕默德的建议。 – Diogo 2012-02-24 18:12:37

相关问题