2011-10-13 6 views
0

phonegap을 사용하여 데이터베이스에 연결하려고했습니다. 데이터베이스가 열리는 것 같지만 데이터베이스에 테이블을 만들 수 없습니다. 데이터베이스 생성 후 실행이 중지 된 것 같습니다. db.transaction을 사용하는 다음 단계는 작동하지 않습니다.Phonegap을 사용하여 SQLite 데이터베이스에 테이블을 만들 수 없습니다.

코드 - lawnchair를 사용

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

하나의 라이너가 아닌 더 나은 답변을 제공 할 수 있습니까? –

+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. 

감사합니다.

관련 문제