//第一步:打开连接并创建数据库
//第三步:执行增删改查
// 1)添加数据:
// 2)查询数据
// 4)删除数据
var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);
- 数据库名字
- 数据库版本号
- 显示名字
- 数据库保存数据的大小(以字节为单位 )
- 回调函数(非必须)
//第二步:创建数据表【这个例子中我们创建了一个table,并在表中插入三条数据,四条执行语句任何一条出现错误,整个事务都会回滚】
db.transaction(function (context) { context.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)'); context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")'); context.executeSql('INSERT INTO testTable (id, name) VALUES (1, "Casper")'); context.executeSql('INSERT INTO testTable (id, name) VALUES (2, "Frank")'); });
- context包含事务内容的一个方法
- 执行成功回调函数(可选)
- 执行失败回调函数(可选)
//第三步:执行增删改查
// 1)添加数据:
context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');
// 2)查询数据
db.transaction(function (context) { context.executeSql('SELECT * FROM testTable', [], function (context, results) { var len = results.rows.length, i; console.log('Got '+len+' rows.'); for (i = 0; i < len; i++){ console.log('id: '+results.rows.item(i).id); console.log('name: '+results.rows.item(i).name); } });
- 查询字符串
- []用以替换查询字符串中问号的参数
- context执行成功回调函数(可选)
- results执行失败回调函数(可选)
// 3)更新数据
db.transaction(function (context) {
context.executeSql('UPDATE testTable SET name = ? where id=?', [name,id], function (context, results) { var len = results.rows.length, i; console.log('Got '+len+' rows.'); for (i = 0; i < len; i++){ console.log('id: '+results.rows.item(i).id); console.log('name: '+results.rows.item(i).name); },function (context, error) { alert('更新失败: ' + error.message); }); });
- 修改字符串
- []用以替换查询字符串中问号的参数
- context执行成功回调函数(可选)
- results执行失败回调函数(可选)
// 4)删除数据
context.executeSql('delete from testTable where id= ?',[id]);
// 5)删除数据表
context.executeSql('drop table testTable ');