2011-10-13 80 views
0

我尝试使用phonegap连接到数据库。看来数据库被打开了,但我无法在数据库中创建表。执行似乎在数据库创建后停止。下一步使用db.transaction不起作用。无法使用Phonegap在SQLite数据库中创建表格

码 -

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

尝试使用lawnchair。最方便的包装。

+0

你能提供更好的答案,而不是一个班轮 –

+0

请参阅ans这里http://stackoverflow.com/questions/7741251/phonegap-lawnchair-and-cookie-in-android – ghostCoder

+0

非常感谢您提供链接 –

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. 

谢谢。

相关问题