Ich habe eine sqlite db
Datei in assets
Ordner von meinem Projekt cordova
, die ich in meiner Anwendung zugreifen möchten und auch die aktualisieren möchten db.Wie auf Sqlite db Datei lokal gespeichert [Asset Ordner] in Projektdatei mit Cordova
Bisher hatte ich einen Blick auf mir fand es cordova sqlite plug-in
, die eine sqlite db erstellen und aktualisieren, aber nicht sicher, wie eine vorhandene Datenbankdatei aus dem Asset-Ordnern in cordova aktualisieren
Hier ist mein Code unten:
<!DOCTYPE html>
<html>
<head>
<title>Storage Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
<script type="text/javascript" charset="utf-8" src="index.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/conf-room1.min.css" rel="stylesheet" />
<link href="css/jquery.mobile.icons.min.css" rel="stylesheet" />
<link href="css/jquery.mobile.structure-1.4.4.min.css" rel="stylesheet" />
<link href="css/app.css" rel="stylesheet" />
<link href="css/custom_color.css" rel="stylesheet" />
<script src="js/jquery-2.1.3.min.js"></script>
<script src="js/jquery.mobile-1.4.4.min.js"></script>
<script src="cordova.js"></script>
<script src="js/jquery-2.1.3.min.js"></script>
<script src="js/jquery.mobile-1.4.4.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script>
document.addEventListener("deviceready", onDeviceReady, false);
var db = "";
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS SoccerPlayer');
tx.executeSql('CREATE TABLE IF NOT EXISTS SoccerPlayer (Name TEXT NOT NULL, Club TEXT NOT NULL)');
tx.executeSql('INSERT INTO SoccerPlayer(Name,Club) VALUES ("Test1", "Team1")');
tx.executeSql('INSERT INTO SoccerPlayer(Name,Club) VALUES ("Test2", "Team2")');
}
function queryDB(tx) {
tx.executeSql('SELECT * FROM SoccerPlayer', [], querySuccess, errorCB);
}
function querySuccess(tx,result){
var playerlist = document.getElementById("SoccerPlayerList");
var players = "";
alert("The show is on");
var len = result.rows.length;
for (var i=0; i<len; i++){
alert(result.rows.item(i).Name + result.rows.item(i).Club);
players = players + '<li><a href="#"><p class="record">'+result.rows.item(i).Name+'</p><p class="small">Club '+result.rows.item(i).Club+'</p></a></li>';
}
playerlist.innerHTML = players;
$("#SoccerPlayerList").listview("refresh");
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}
function successCB() {
db.transaction(queryDB, errorCB);
}
function onDeviceReady() {
<!--db = window.openDatabase("SimpleTestOne", "1.0", "PhoneGap Demo", 200000);-->
db = window.openDatabase({name: "SimpleTestOne.db", createFromLocation: 1});
db.transaction(populateDB, errorCB, successCB);
}
</script>
</head>
<body>
<div data-role="page">
<div data-role="header" data-position="fixed" data-theme="b">
<h1>Soccer Player</h1>
</div>
<div data-role="content">
<ul id="SoccerPlayerList">
</ul>
</div>
</div>
<!--end of Soccer Player Page--->
</body>
</html>
Anmerkung: ich habe SimpleTestOne.db in meinem Vermögen Ordner
können Sie die DB-Datei zugreifen, diesen Weg mit 'file: /// android_asset/www/DBFilePathHere'. Aber ich schlage vor, dass Sie mit SQLite-Datenbank erstellen und diese db-Datei aktualisieren, und es ist nicht notwendig, Plugin zu installieren, ohne das Plugin zu installieren, Sie können auch damit arbeiten. –
Vielen Dank für die schnelle Antwort. Sie können einige Codebeispiele installieren, um diese Datenbank Datensätze zu aktualisieren. –
Haben Sie bereits eine Datenbank für Ihre App mit SQLite DB erstellt einschließlich Einfügen von Daten etc ..? –