PhoneGap中文网
标题:
本地数据库问题
[打印本页]
作者:
野蛮人
时间:
2013-10-13 10:57
标题:
本地数据库问题
以下是官方API但是运行不成功呢。创建完查询出错在模拟器里运行的
<!DOCTYPE html>
<html>
<head>
<title>Contact Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// 填充数据库
function populateDB(tx) {
tx.executeSql('DROP TABLE DEMO IF EXISTS');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}
// 查询数据库
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
// 查询成功后调用的回调函数
function querySuccess(tx, results) {
// 因为没有插入记录,所以返回值为空
console.log("Insert ID = " + results.insertId);
// 因为这是一条查询语句所以返回值为0
console.log("Rows Affected = " + results.rowAffected);
// 返回查询到的记录行数量
console.log("Insert ID = " + results.rows.length);
}
// 事务执行出错后调用的回调函数
function errorCB(err) {
console.log("Error processing SQL: "+err.code);
}
// 事务执行成功后调用的回调函数
function successCB() {
var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
db.transaction(queryDB, errorCB);
}
// PhoneGap加载完毕
function onDeviceReady() {
var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
}
</script>
</head>
<body>
<h1>Example</h1>
<p>Database</p>
</body>
</html>
作者:
野蛮人
时间:
2013-10-13 11:06
有大神指导一下没有啊
作者:
admin
时间:
2013-10-13 16:36
野蛮人 发表于 2013-10-13 11:06
有大神指导一下没有啊
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>PhoneGap-Storage</title>
<link rel="stylesheet" href="../jquery.mobile-1.1.1/jquery.mobile-1.1.1.css" />
<script src="../jquery.mobile-1.1.1/jquery.js"></script>
<script src="../jquery.mobile-1.1.1/jquery.mobile-1.1.1.js"></script>
<script type="text/javascript" charset="utf-8" src="../cordova-1.9.0.js"></script>
<script type="text/javascript">
$(document).ready(function(){
document.addEventListener("deviceready", myDeviceReadyListener, false);
});
function myDeviceReadyListener(){
var database = window.openDatabase("BeifengPhoneGap", "1.1", "PhoneGapDB", 102400);
createTable(database);
queryTable(database);
}
createTable = function(db){
db.transaction(function(tx){
tx.executeSql('CREATE TABLE IF NOT EXISTS tbl_user (id int PRIMARY KEY, user_name NVARCHAR(255),password NVARCHAR(255))');
},function(err){
console.log("执行失败"+err);
},function(){
console.log("执行成功!");
});
}
insertTable = function(db){
db.transaction(function(tx){
tx.executeSql('INSERT INTO tbl_user VALUES(?,?,?)',[7,"beifeng","beifeng"],function(tx,resultset){
if(resultset.rowsAffected) {
console.log("插入数据对表有影响!");
}
console.log("rowAffected:" + resultset.rowsAffected);
console.log("insertId:" + resultset.insertId);
},function(err){
console.log("插入数据失败:"+err.code);
});
},function(err){
console.log("执行失败"+err.code);
},function(){
console.log("执行成功!");
})
}
queryTable = function(db){
db.transaction(function(tx){
tx.executeSql('SELECT * from tbl_user',[],function(tx,resultset){
if(resultset.rowsAffected) {
console.log("插入数据对表有影响!");
}
console.log("rowsAffected:" + resultset.rowsAffected);
console.log("rows:" + resultset.rows.length);
for(var i = 0; i < resultset.rows.length;i++){
console.log(resultset.rows.item(i).id);
}
},function(err){
console.log("插入数据失败:"+err.code);
});
},function(err){
console.log("执行失败"+err.code);
},function(){
console.log("执行成功!");
})
}
</script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Storage</h1>
</div>
<div data-role="content">
</div>
<div data-role="footer">
<h4> </h4>
</div>
</div>
</body>
</html>
复制代码
一个完整的例子
作者:
野蛮人
时间:
2013-10-14 09:23
admin 发表于 2013-10-13 16:36
一个完整的例子
谢谢,原来官方给的例子创建数据库是没有加字段类型
欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/)
Powered by Discuz! X3.2