Android の Phone-gap は初めてです。データベースを作成して値を挿入し、それらの値をテーブル ビューに表示したいのですが、その方法を教えてください。
質問する
1771 次
2 に答える
0
私はこのことを次のようにしました:
これは私のJavaScriptです:
<script type="text/javascript">
var firstNameBox=null;
var lastNameBox=null;
var=null;
var dataTable=null; <!-- Called when phonegap javascript is loded -->
function onDeviceReady()
{
var addButton = document.getElementById("add");
firstNameBox = document.getElementById("firstName");
lastNmaeBox = document.getElementById("lastName");
dataTable = document.getElementById("data-table");
db=Window.openDatabase("contactDB",1.0,"Contact Database,1000000"); <!--name,version,display name,size -->
addButton.addEventListener("click",function(){
db..transaction(
<!-- SQL Statments -->
funnction(tx){
ensureTableExists(tx);
var firstName= firstNameBox.value;
var lastNameBox.value;
var sql='INSERT INTO Contacts(firstName,lastName) VALUES ("'+firstName+'","'+lastName+'")';
tx.executeSql(sql);
},
//error callback
function(err){
alert("error callback"+err.code);
},
//success callback
function(err){
loadFromDB();
});
},false);
loadFromDB();
}
loadFromDB();
}
function loadFromDB(){
db.transaction(
//function sql statements
function(tx){
ensureTableExists(tx);
tx.executeExists('SELECT *FROM Contacts',[],function(tx,results){
var htmlStr="";
for(var index=0;index<results.rows.length;index++){
var item = result.rows.item(index);
htmlStr=htmlStr+"<tr><td>"+item.firstName+"</td><td>"+item.lastName+"</td><td><button onclick=\"deleteEntry('"+item.id+"');\">X</button></td></tr>";
}
dataTable.innerHTML=htmlStr;},function(err{
alert("Unable to fetch result from Contacts Table");
});
},
//error CallBack
function(err){
alert("error callBack"+err.code+""+err.message);
},
//Success CallBack
function(){
firstNameBox.value = "";
lastNameBox.value ="";
});
}
function deleteEntry(id){
db.transaction(
//function sql statements
function(tx){
ensureTableExists(tx);
tx.executeSql('Delete FROM Contacts where id'+id);
},
//eror callback
function(err){
alert("error callback"+err.code+" "+err.message);
},
//success callback
function(err){
loadFromDB();
});
}
function ensureTableExists(tx){
tx.executeSql('CREATE TABLE IF NOT EXISTS Contacts(id INTEGER PRIMARY KEY,firstName,lastName)');
}
//Called when browers is loded
function init(){
document.addEventListener("deviceready",onDeviceReady,false);
}
</script>
これは私の HTML 本文です:
<body onload="init()">
<h3>Database Table View</h3>
<table border="1">
<tr> <td> <b>First Name</b> </td>
<td> <b>Last Name</b> </td>
<td> <b>Action</b> </td>
</tr>
</table>
<table id="data-table"></table>
<table> <tr> <td> <input id="firstName" type="text"></input></td>
<td><button id="add">Add</button></td></tr></table>
</body>
于 2012-10-13T07:32:17.657 に答える
0
Phonegap が提供するAPI ドキュメントを参照することをお勧めします。データベースとローカル ストレージに関するクエリについては、こちらをご覧ください。ハッピーアプリ構築!
于 2012-09-28T12:37:39.467 に答える