2015-01-30 6 views
0

Я новичок в android PhoneGap.Как создать базу данных в PhoneGap?

<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script> 
<script type="text/javascript" charset="utf-8"> 

    document.addEventListener("deviceready", onDeviceReady, false); 

    function onDeviceReady() { 
     var db = window.openDatabase("raddyx", "1.0", "Cordova Demo", 200000); 
     db.transaction(populateDB, errorCB, successCB); 
    } 
    function populateDB(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")'); 
    } 

    function errorCB(tx, err) { 
     alert("Error processing SQL: "+err); 
    } 

    function successCB() { 
     alert("success!"); 
    } 

</script> 

Я использую выше пример кода. Моя база данных raddyx. Я не могу создать базу данных. Можете ли вы сказать мне, как создать базу данных raddyx в PhoneGap?

Редактировать - Когда я запускаю его на своем мобильном телефоне, он говорит: Unfortunately, APP_NAME_HERE has stopped. Если я удалю код подключения, он отлично работает.

+0

чеке [ссылка] (HTTP: // StackOverflow .com/questions/13753539/phonegap-сожалению-phonegapexample-has-stop) и [link2] (http://stackoverflow.com/questions/24862069/unappro-demo-has-stopped-phonegap-unaltered-helloworld- не приложение-делает-нет). – frank

+0

@frank мое приложение успешно работает. Но когда я подключаюсь к базе данных, я получаю сообщение об ошибке «К сожалению, Raddyx остановился». – Developer

+1

вы можете попробовать поставить 'alert()' stmt в 'populateDB()' в начале, чтобы проверить, выполняет ли она эту функцию. Выполняется функция 'onDeviceReady()'? вам нужно проверить каждую функцию и узнать, вызвана ли она. Трудно узнать, где проблемы с информацией, которую вы предоставили. На какой ** версии ** кордовы вы работаете? – frank

ответ

0

Вы можете создать базу данных с помощью функции, как:

function queryDB() { 
     var db = window.openDatabase("Database", "1.0", "Cordova login", 300000); 

     db.transaction(inputDb, errorCB); 
    } 

После этого вы вызовите функцию inputDb, которая выглядит как:

function inputeDb(db2) {  
       db2.executeSql('DROP TABLE IF EXISTS login'); 
       db2.executeSql('CREATE TABLE IF NOT EXISTS login (id_Login INTEGER PRIMARY KEY AUTOINCREMENT, UserName VARCHAR(150) NULL, UserPassword VARCHAR(100) NULL, UserHash VARCHAR(50) NULL)'); 
       db2.executeSql('INSERT INTO login (UserName, UserPassword) VALUES ("'+uname1+'", "'+upass1+'")'); 

       db2.executeSql('DROP TABLE IF EXISTS MDataT'); 
       db2.executeSql('CREATE TABLE IF NOT EXISTS MDataT (id_MData INTEGER PRIMARY KEY, MData INTEGER)'); 
       db2.executeSql('INSERT INTO MDataT (id_MData, MData) VALUES ("1", "'+MData+'")'); 

       //alert("Username and Password - Set in DB"); 
       location.href="serverLogin.html"; 
      } 
Смежные вопросы