2016-05-10 4 views
1

Я работаю с intel XDK, и там у меня есть предварительно заполненный файл .db, который мне нужно прочитать внутри моего кода. Как и в обычном приложении, мы помещаем файлы db в каталог ресурсов, а затем обращаемся к этой базе данных, копируя их в каталог базы данных приложения. Я новичок в гибридных приложениях.Как читать данные из sqlite .db-файла в HTML 5/cordova/Intel xdk

ответ

-1

Я сделал это с sql.js и XML HTTP запрос с использованием следующей части кода:

var xhr = new XMLHttpRequest(); 
xhr.open('GET', 'yourDBname.db', true); 
xhr.responseType = 'arraybuffer'; 
xhr.onload = function(e) 
{ 
mId = sessionStorage.i; 
var uInt8Array = new Uint8Array(this.response); 
var db = new SQL.Database(uInt8Array); 
var contents = db.exec("SELECT * FROM ....your query"); 
// Do as per requirment 
} 
2

NB: Для просмотра базы данных, созданной вашим проектом, 1-й возьмите сборку окон и запустите проект.

Затем перейдите к C: \ Users \ XXXXX \ AppData \ Local \ Packages \ pakagename \ LocalState \ yourdbname.db

Вы можете найти файл DB вы можете просмотреть файл on this site

Для создание и использование базы данных Пожалуйста, используйте ссылку на сторонний плагин Intel XDK. Перед этим загрузите файл jar-файла зависимости проекта из GitHub и создайте каталог с именем SQLite плагина Cordova и поместите в него файл, включите файл jar. Затем попробуйте добавить плагин с помощью URL.

См весь код ниже данных базы данных 2.Add таблица 3.Add 1.Create таблице 4.Get данные из таблицы

> // Wait for Cordova to load 
document.addEventListener('deviceready', onDeviceReady, false); 

// Cordova is ready 
function onDeviceReady() { 
    //////////////////////////////////////////////////////////////////////////////////////////////// 
    alert("Start "); 
    var db = window.sqlitePlugin.openDatabase({ name: 'my.db', location: 'default' }, function() { 


    alert("database creatred"); 
    db.transaction(function (tx) { 
     tx.executeSql('CREATE TABLE customerAccounts (firstname, lastname, acctNo)'); 
     alert("Table create"); 

     addItem("first", "last", 100); 
     getData("last"); 

    }, function (error) { 
     alert('transaction error: ' + error.message); 
    }, function() { 
     alert('transaction ok'); 
    }); 


    }, function (error) { 
    }); 

//////////////////////////////////////////////////////////////////////////////////////////////// 


function addItem(first, last, acctNum) { 
    alert("start adding"); 
    db.transaction(function (tx) { 

     var query = "INSERT INTO customerAccounts (firstname, lastname, acctNo) VALUES (?,?,?)"; 
      alert("start insterting"); 
     tx.executeSql(query, [first, last, acctNum], function(tx, res) { 
      console.log("insertId: " + res.insertId + " -- probably 1"); 
      console.log("rowsAffected: " + res.rowsAffected + " -- should be 1"); 
      alert("insert complete"); 
     }, 
     function(tx, error) { 
      alert('INSERT error: ' + error.message); 
     }); 
    }, function(error) { 
     alert('transaction error: ' + error.message); 
    }, function() { 
     alert('transaction ok'); 
    }); 
} 

//////////////////////////////////////////////////////////////////////////////////////////////// 

    function getData(last) { 

    db.transaction(function (tx) { 
      alert("get data"); 
     var query = "SELECT firstname, lastname, acctNo FROM customerAccounts WHERE lastname = ?"; 
      alert("get data working"); 
     tx.executeSql(query, [last], function (tx, resultSet) { 

      for(var x = 0; x < resultSet.rows.length; x++) { 
       alert("First name: " + resultSet.rows.item(x).firstname + 
        ", Acct: " + resultSet.rows.item(x).acctNo); 
      } 
     }, 
     function (tx, error) { 
      alert('SELECT error: ' + error.message); 
     }); 
    }, function (error) { 
     alert('transaction error: ' + error.message); 
    }, function() { 
     alert('transaction ok'); 
    }); 
} 

///////////////////////////////////////////////////////////////////////////////////////////////////  

} 
+1

Я попросил предустановленную базу данных sqlite, это решение для создания новой базы данных и ее использования. –

+0

Ответ обновлен, пожалуйста, найдите его полезным для вас –