2014-11-02 151 views
2

这是我的index.html我不知道问题出在哪里,但是这段代码不会为我创建任何数据库帮助请求或remarque可能是有用的。用cordova在sqlite中创建数据库

<script type="text/javascript" charset="utf-8"> 
     document.addEventListener("deviceready", onDeviceReady, false); 
     function onDeviceReady() { 
       var db = window.openDatabase("test", "2.0", "Test DB", 1000000);  
       alert(window.openDatabase("test", "1.0", "Test DB", 1000000) +' kolll') 
       db.transaction(populateDB, errorCB, successCB); 
       } 

     // create table 
     function populateDB(tx) { 
     tx.executeSql('DROP TABLE IF EXISTS test_table'); 
     tx.executeSql('CREATE TABLE IF NOT EXISTS test_table (ROLLING INT, firstname text, lastname text, numphone text)'); 
     tx.executeSql("INSERT INTO test_table VALUES('adam', 'smith', '887884')"); 
     tx.executeSql("INSERT INTO test_table VALUES('david', 'ooo', '15588')"); 
     } 
     function errorCB(err) { 
        console.log("Error processing SQL: " + err.code); 

     alert('DATABASE NOT CREATED '); 
     } 
     // Success error callback 

     function successCB() { 
        alert('DATABASE CREATED '); 

     } 
</script> 

thank you 

回答

0

您正在使用不同版本(2.0和1.0)创建数据库两次。

1.var db = window.openDatabase("test", "2.0", "Test DB", 1000000); 

2.alert(window.openDatabase("test", "1.0", "Test DB", 1000000) +' kolll') 

您需要更改onDeviceReady()内部的警报呼叫。例如

function onDeviceReady() { 
    alert('Calling onDeviceReady'); 

    var db = window.openDatabase("test", "2.0", "Test DB", 1000000);  
    alert('window.openDatabase called' + ' kolll'); 

    db.transaction(populateDB, errorCB, successCB); 

} 

上面的改变有希望应该创建数据库和表。