HTML5 本地数据库SQLLite
HTML5 中内置两种本地数据库,一种为SQLLite,可以通过SQL语言来访问的文件型SQL数据库,另一种为"indexedDB"的NoSQL类型的数据库。
1.SQLLite 数据库
创建访问数据库的对象。
用javascript的openDatabase方法创建一个访问数据的对象。
var db=openDatabase('mydb','1.0','Test DB',2*1024*1024);
第一个参数为数据库名、第二参数为版本号、第三个参数为数据库的描述、第四个参数为数据库的大小。该方法返回创建后数据库访问对象,如果该数据库不存在,则创建该数据库。
在实际访问数据库的时候,还需要调用transaction方法,用来执行事务处理。使用事务处理,可以防止在对数据库进行访问及执行有关操作的时候不受到外界的打扰。
db.transaction(function(tx){tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS(id unique,Log)')});
transaction 方法使用一个回调函数作为参数。执行访问数据库。
executeSql方法:executeSql(sqlquery,[],dataHandler,errorHandler);
第一个参数为需要执行的SQL语句、第二个参数为SQL语句中所有使用到的参数的数组。在executeSql方法中,将SQL语句中所有使用到的参数先用"?"代替,然后一次将这些参数组成数组放在第二个参数中。
第三个参数为执行SQL语句成功时调用的回调函数。
funcation dataHandler(transaction,results){//执行SQL语句成功时的处理};
第一个参数为transaction对象,第二个参数为执行查询操作时返回的查询到的结果数据集对象。
第四个参数为执行SQL语句出错时调用的回调函数。
function errorHandler(transaction,errmsg){//执行SQL语句出错时的处理};
第一个参数为transaction对象,第二个参数为执行发生错误时的错误文字信息。