【发布时间】:2018-09-26 09:43:39
【问题描述】:
我想使用 JavaScript 代码访问 Sql Lite 数据库。 JavaScript 代码在 html5 中使用,必须部署在 blackberry 10 平台上。 我使用以下代码没有成功:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Prova</title>
</head>
<body>
<script type="text/javascript">
//Provenia SRL ITC - Paola Savioli
//Questa funzione apre il database SQL Lite
//Il parametro che va cambiato è il nome del database
function ApriDatabase() {
try {
if (window.openDatabase) {
var shortName = 'Ristoranti.sqllite';
var version = '1.0';
var displayName = 'Ristoranti italia';
var maxSize = 65536; // in bytes
db = openDatabase(shortName, version, displayName, maxSize);
}
} catch (e) {
alert('Apri Database' + e);
}
}
//Provenia SRL ITC - Paola Savioli
// Questa funzione eseque una query su un database aperto con la funzione ApriDatabase
function EseguiQuery($query, callback) {
try {
ApriDatabase();
if (window.openDatabase) {
db.transaction(
function (tx) {
tx.executeSql($query, [], function (tx, result) {
if (typeof (callback) == "function") {
callback(result);
} else {
if (callback != undefined) {
eval(callback + "(result)");
}
}
}, function (tx, error) {});
});
return rslt;
}
} catch (e) {
alert('Esegui Query' + e);
}
}
function VisualizzaComuni() {
try {
var schemanode = document.GetElementById('RCOMUNI');
schemanode.innerHTML = "";
var result = EseguiQuery('SELECT * FROM COMUNE');
for (var i = 0; i < result.rows.lenght; ++i) {
var row = result.row.item(i);
var notediv = document.createElement('div');
notediv.innerHTML = 'Codice Provincia:' + row['PROVINCIA'] + 'Nome:' + row['NAME'];
schemanode.appendchild(notediv);
}
} catch (e) {
alert('Visualizza Comuni' + e);
}
}
</script>
<input type="button" name='select' onClick="VisualizzaComuni()"
value='Visualizza Comuni'>
<div id="RCOMUNI"></div>
</body>
</html>
【问题讨论】:
-
我对黑莓了解不多,但在大多数平台上,不可能有使用 Javascript 与本地数据库交互的 HTML 网站(除非它们公开可以通过 XmlHttpRequest 访问的 Web 服务)。
-
@Philipp - HTML5 在浏览器中包含几个不同的数据库层,包括 Blackberry 10 支持的
localStorage。我不确定这是一种格式还是其他格式之一不过,SQLite。 -
这里是 Blackberry 10 支持的另一个数据库:developer.blackberry.com/html5/apis/database.html 我只是看一下 API,看看提供了什么。 编辑:实际上,这似乎是问题代码中尝试的内容。
标签: javascript html sqlite blackberry-10