Tworzę aplikację hybrydową przez producenta aplikacji telerikw visual studio. Nie mam dostępu do sqlite db, który jest tworzony zewnętrznie. Ale mogę uzyskać dostęp do bazy danych, która jest tworzona w czasie wykonywania. Odniosłem się do niektórych stron, te rozwiązania nie działają dla mnie. Poniższy kod utworzy db i uzyska do niego dostęp w czasie wykonywania
var app = {};
app.db = null;
app.openDb = function () {
var dbName = "Test.sqlite";
//DB creation for Simulator
if (window.navigator.simulator === true) {
app.db = window.openDatabase(dbName, "1.0", "Test Database", 1073741824);
console.log("Database Created!");
}
//DB creation for devices
else {
app.db = window.sqlitePlugin.openDatabase(dbName);
console.log("Database Accessed!");
}
}
Chcę uzyskać dostęp do bazy danych, która jest obecna w folderze danych. Proszę odnieść obraz.
Próbowałem umieścić db w folderze www i spróbować uzyskać do niego dostęp za pomocą następującego kodu
app.db = window.sqlitePlugin.openDatabase({name: "Test.db", createFromLocation: 1});
To spowoduje następujący błąd
Uncaught TypeError: Cannot read property "openDatabase" of undefined
Jak mogę uzyskać dostęp do utworzonego zewnętrznie dblite db?
Zawarłem następujące skrypty w projekcie
<script src="js/jquery-2.1.0.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="js/ng-cordova.min.js"></script>
Odpowiedzi:
1 dla odpowiedzi № 1Wygląda na to, że masz taki problem window.sqlitePlugin
jest niezdefiniowany. Czy na pewno wtyczka jest poprawnie zainstalowana? Należy również poczekać do zdarzenia deviceReady przed użyciem window.sqlitePlugin
.