SQLite模块用于操作本地数据库文件,可实现数据库文件的创建,执行SQL语句等功能。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title></title>
</head>
<body>
<button type="button" id="create">创建数据库</button>
<button type="button" id="vad">检查是否打开</button>
<button type="button" id="close">关闭数据库</button>
<button type="button" id="sw">开启事务</button>
<div id="sql">
<!-- <input type="" name="" value="" /> -->
<button type="button" id="sql">写入</button>
</div>
<div id="select" >
<input type="" name="" value="select * from database" />
<button type="button" class="select">查询</button>
</div>
<button type="button" id="del">删除表</button>
<table border="" cellspacing="" cellpadding="">
</table>
</body>
<script src="js.js" type="text/javascript" charset="utf-8"></script>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready', plusReady, false);
}
function plusReady(){
}
var bdName="musicList";//定义数据库名称
$("#create").click(function(){
createDb(bdName);//打开数据库,不存在自动创建,所以不要乱写
})
$("#vad").click(function(){
alert(validBdOpen(bdName));//检查数据库是否打开,返回boolean
})
$("#close").click(function(){
closeDB(bdName);//关闭数据库
})
$("#sw").click(function(){
transactionDB(bdName,"begin");//数据库开启事务 begin(开始事务)、commit(提交)、rollback(回滚)。
})
var databaseName="database";//定义表的名字
$(".select").click(function(){
/**
* 查询方法
* bdName 数据库名字
* sql 查询语句
*/
var sql=$("#select input").val();
selectMusicListSQL(bdName,sql,function(data){
console.log(JSON.stringify(data));
for (var i = 0; i < data.length; i++) {
var dom="<tr><td>"+data[i].id+"</td><td>"+data[i].playUrl+"</td><td>"+data[i].imgUrl+"</td><td>"+data[i].classification+"</td><td>"+data[i].authorName+"</td></tr>"
$("table").append(dom)
}
});
})
$("#sql").click(function(){
var baseSql='create table if not exists '+databaseName+'("id" INT(100),"playUrl" CHAR(100),"imgUrl" CHAR(100),"classification" CHAR(100),"authorName" CHAR(100),"songName" CHAR(100),"seletype" INT(10),"createTime" CHAR(10))';
/**执行增删改操作
* bdName 数据库的名字
* databaseName 表名字
* baseSql 所执行语句中必须包含的数据结构
* sql 执行的增删改查语句
* 个人建议这个sql执行语句可以根据分的表写死当前方法,当然也可以复用
*/
for (var i = 1; i < 10; i++) {
var sql="insert into database values("+i+",'playUrl ','imgUrl','classification','authorName','songName',1,'2019-01-01')";
executeMusicListSQL(bdName,baseSql,sql);
}
})
$("#del").click(function(){
var baseSql='create table if not exists '+databaseName+'("id" INT(100),"playUrl" CHAR(100),"imgUrl" CHAR(100),"classification" CHAR(100),"authorName" CHAR(100),"songName" CHAR(100),"seletype" INT(10),"createTime" CHAR(10))';
/**执行增删改操作
* bdName 数据库的名字
* databaseName 表名字
* baseSql 所执行语句中必须包含的数据结构
* sql 执行的增删改查语句
* 个人建议这个sql执行语句可以根据分的表写死当前方法,当然也可以复用
*/
for (var i = 1; i < 10; i++) {
var sql="delete from "+databaseName+"";
executeMusicListSQL(bdName,baseSql,sql);
}
})
</script>
</html>
js
function createDb(name){
plus.sqlite.openDatabase({
name: name,
path: '_doc/'+name+'.db',
success: function(e){
console.log('openDatabase success!');
},
fail: function(e){
console.log('openDatabase failed: '+JSON.stringify(e));
}
});
}
function validBdOpen(name){
return plus.sqlite.isOpenDatabase({
name: name,
path: '_doc/'+name+'.db'
});
}
// 关闭数据库
function closeDB(name){
plus.sqlite.closeDatabase({
name: name,
success: function(e){
console.log('数据库关闭 success!');
},
fail: function(e){
console.log('数据库关闭 failed: '+JSON.stringify(e));
}
});
}
// 执行事务 begin(开始事务)、commit(提交)、rollback(回滚)。
function transactionDB(name,operation){
plus.sqlite.transaction({
name: name,
operation: operation,
success: function(e){
console.log('transaction success!');
},
fail: function(e){
console.log('transaction failed: '+JSON.stringify(e));
}
});
}
// 执行SQL语句
function executeMusicListSQL(name,baseSql,sql){
plus.sqlite.executeSql({
name: name,
sql: baseSql,
success: function(e){
console.log('executeSql success!');
plus.sqlite.executeSql({
name: name,
sql: sql,
success: function(e){
console.log('写入成功 success!');
},
fail: function(e){
console.log('写入失败 failed: '+JSON.stringify(e));
}
});
},
fail: function(e){
console.log('executeSql failed: '+JSON.stringify(e));
}
});
}
// 查询SQL语句
function selectMusicListSQL(name,sql,success){
plus.sqlite.selectSql({
name: name,
sql: sql,
success: function(data){
console.log('selectSql success: ');
if(data.length==0){
alert("查询为空")
}
success(data)
},
fail: function(e){
console.log('selectSql failed: '+JSON.stringify(e));
}
});
}
export default {
websiteUrl,
now,
isArray
}