WEB SQL Database 介绍:
web sql database 是一个独立于w3c规范之外的标准,但是对于前端工程师来说,这是我们做单机app的利器(因为可以处理比较复杂的数据关系),它为开发者提供了一个简单而强大的javascript数据库操作API接口,是的本地应用程序可以使用本地数据库(SQLite)持久保存数据。开发者可以使用标准SQL语句来创建数据表,插入、更新、查找和删除数据行,甚至支持事物。
WEB sql database兼容性
WEB sql database API
db.openDatabase() //这个方法使用现有数据库或新建数据库来创建数据库对象
db.transaction() //这个方法允许我们根据情况控制事务提交或回滚
db.executeSql() //这个方法用于执行SQL 查询
代码实例
建立数据库连接
var = var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);
/*openDatabase接收五个参数:
数据库名字
数据库版本号
显示名字
数据库保存数据的大小(以字节为单位 )
回调函数(非必须)*/
事物操作
transaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚。方法有三个参数
- 包含事务内容的一个方法
- 执行成功回调函数(可选)
- 执行失败回调函数(可选)
db.transaction(function (tx ) {
//数据库操作都必须放在transation()方法的回调函数里面
//新建表格
tx.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)');
//插入测试数据
tx.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');
tx.executeSql('INSERT INTO testTable (id, name) VALUES (1, "Casper")');
tx.executeSql('INSERT INTO testTable (id, name) VALUES (2, "Frank")');
});
数据操作
db.transaction(function (tx ) {
//数据库操作都必须放在transation()方法的回调函数里面
tx.executeSql("SELECT * FROM testTable", function (transaction, result) {
if (result.rows.length > 0) {
for(var i=0;i<result.rows.length;i++){
console.log(result.rows[i].name);
}
} else if (result.rows.length <= 0) {
console.log("there is no data");
}
}, null);
});
稍后奉上实例……