我尝试使用phonegap连接数据库。似乎数据库已打开,但我无法在数据库中创建表。数据库创建后似乎停止执行。使用db.transaction的下一步不起作用。
代码 -
function createDB() {
alert("in createDB...");
var db = window.openDatabase("Database60", "1.0", "Phonegap Demo60", 200000);
alert("after openDatabase...");
db.transaction(
function(tx)
{
alert("in function(tx)...")
tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
},
function(tx, err)
{
alert("Error processing SQL: "+err);
}
)
alert("after table creation...");
}
答案 0 :(得分:0)
尝试使用草坪椅。最方便的包装。
答案 1 :(得分:0)
//this creates the database
db.transaction(populateDB, transaction_error, populateDB_success);
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS Registration');
var sql = "CREATE TABLE IF NOT EXISTS Registration (" + " id INTEGER PRIMARY KEY AUTOINCREMENT," + "name VARCHAR(50), " + "address VARCHAR(50),"+" age INTEGER(2), "+" birthdate DATE, "+" gender VARCHAR(10), "+" hobbies VARCHAR(100), "+" email VARCHAR(50),"+" uname VARCHAR(50),"+" pwd VARCHAR(50))";
tx.executeSql(sql);
tx.executeSql("INSERT INTO Registration (name,address,age,birthdate,gender,hobbies,email,uname,pwd) VALUES ('"+ v1 +"','"+ v2 +"','"+ v3 +"','"+ v4 +"','"+ v5 +"','"+ v6 +"','"+ v7 +"','"+ v8 +"','"+ v9 +"')");}
function transaction_error(tx, error) {
alert("Database Error: " + error);
}
function populateDB_success() {
dbCreated = true;
alert("Successfully inserted");
db.transaction(queryDB, errorCB);
}
This works for me.Try this. May be helpful to you.
感谢。