mac eclipse android phonegap with sqlite database autoincrem



im 实际上是 dotnet 开发人员现在我开始使用 Eclipse Android 和 Phonegap 开发移动应用程序 我已经研究了这些 docs.phonegap.com 我发现在示例(即相机设备和加速度计)中没有困难。我已经成功连接到数据库,现在我的问题是如何在创建表中播放自动增量并从数据库中检索(最大 id +1),给定的代码不起作用
我的代码是
Javascript 代码#

     function onDeviceReady() {
            var db = window.openDatabase('dbNexTrainer','1.0', 'NexTrainer',2 * 1024 * 1024);
            db.transaction(populateDB, errorCB, successCB);
        }
function populateDB(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS tbl_Excercise  (ExId INTEGER PRIMARY KEY AUTOINCREMENT ,ExName ,ExDescription ,ExPreCondition ,ExImage ,IsActive INTEGER,AddDate DATE)');
tx.executeSql('Delete from tbl_Excercise');
tx.executeSql('INSERT INTO tbl_Excercise  VALUES (1,"Excercise 1","Description 1","Pre Condition 1","image/image1.png",1,"12/09/2012 01:00:00")');
tx.executeSql('INSERT INTO tbl_Excercise  VALUES (2,"Excercise 2","Description 2","Pre Condition 2","image/image2.jpg",1,"12/09/2012 01:00:00")');
tx.executeSql('INSERT INTO tbl_Excercise  VALUES (3,"Excercise 3","Description 3","Pre Condition 3","image/image3.jpg",1,"12/09/2012 01:00:00")');
tx.executeSql('INSERT INTO tbl_Excercise  VALUES (4,"Excercise 4","Description 4","Pre Condition 4","image/image4.jpg",1,"12/09/2012 01:00:00")');


第二个问题如何检索最大ID
Javascript Code

   function NewExcercise(){
     var db = window.openDatabase('dbNexTrainer','1.0', 'NexTrainer',2 * 1024 * 1024);
          db.transaction(GetNewExId, errorCB);    
    }
var  GetNewExId=function(tx) 
       {
           var db = window.openDatabase('dbNexTrainer','1.0', 'NexTrainer',2 * 1024 * 1024);
          var sql = "SELECT MAX(ExId)+1 as ExId FROM tbl_Excercise";
           tx.executeSql(sql, [], ReturnNewId, errorCB); 
           return  window.localStorage.getItem('NewExId') 
      }
      var  ReturnNewId  = function(transaction, results) {
   try{       
         var row = results.rows.item(i);          
         window.localStorage.setItem('NewExId', row['ExId']);            
    }
    catch(e){
    alert(e);
    }
    }

创建表语法有错误,您需要为所有表字段定义数据类型,

试试这个说法,

tx.executeSql('CREATE TABLE IF NOT EXISTS tbl_Excercise  (ExId INTEGER PRIMARY KEY AUTOINCREMENT ,ExName TEXT ,ExDescription TEXT ,ExPreCondition TEXT ,ExImage BLOB ,IsActive INTEGER,AddDate DATE)');

最新更新