我实际上是 dotnet 开发人员,现在我开始使用 eclipse android 和 phonegap 开发移动应用程序,我在 docs.phonegap.com 中研究过这些,我在示例中没有发现任何困难,即相机设备和加速度计。我已经成功连接到数据库现在我的问题是我如何在创建表中应用自动增量并从数据库中检索(max 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")');
第二个问题如何检索 max id
Javascript 代码
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);
}
}