phoneGap 存储

来源:互联网 发布:太空工程师要学编程 编辑:程序博客网 时间:2024/06/08 06:14
/** * Created with JetBrains WebStorm. * User: Administrator * Date: 13-11-29 * Time: 上午10:24 * To change this template use File | Settings | File Templates. *///phoneGap存储://storage:PhoneGap的实现完全兼容W3C规范//file//storage://创建数据库/** * 返回值:databases(sql lite)数据库 * name:数据库名 * version:版本 * display_name:数据库的显示名 * size:大小,byte单位 *///var dbShell = window.openDatabase(name, version, display_name, size); //Android iPhone bb//数据库操作方法//transaction:运行一个数据库事务。/** * populateDB:事务要执行的函数 * errorCB:失败的回调 * successCB:成功的回调 *///  db.transaction(populateDB, errorCB, successCB); /*  function populateDB(tx) {      //executeSql方法:      //返回值:SQLResultSet                //属性:                //insertId:插入到数据库的行记录的行ID。[译注:如果插入多行的时候,返回最后一个行的ID]                //rowAffected:影响的行数。                //rows:是一个SQLResultSetRowList对象,表示返回的多条记录。如果没有返回任何记录,则此对象为空。                       // SQLResultSetRowList                       //属性:length: SQL查询所返回的记录行数。                       //方法:item:根据指定索引返回一个行记录的JavaScript对象。  //参数:sql语句 [] 成功的回调 失败的回调      tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);      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 querySuccess(tx, results) {      // 因为没有插入记录,所以返回值为空      console.log("Insert ID = " + results.insertId);      // 因为这是一条查询语句所以返回值为0      console.log("Rows Affected = " + results.rowAffected);      // 返回查询到的记录行数量      console.log("Insert ID = " + results.rows.length);      for (var i=0; i<len; i++){            console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data =  " + results.rows.item(i).data);      }  }  //------------  // 事务执行出错后调用的回调函数  function errorCB(err) {  console.log("Error processing SQL: "+err.code);  }  function errorCB(err) {  alert("Error processing SQL: "+err.code);  }  function successCB() {  alert("success!");  }  var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);  db.transaction(populateDB, errorCB, successCB); *///changeVersion:该方法允许脚本执行以下原子操作:校验数据库的版本号并更新版本号以完成架构更新。// db.changeVersion("1.0", "1.1");/* var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000); db.changeVersion("1.0", "1.1"); *//**属性:SQLError code: 一个在下面常量列表中定义好的错误代码c。message:关于此错误的说明。常量:SQLError.UNKNOWN_ERR:未知错误SQLError.DATABASE_ERR:数据库错误SQLError.VERSION_ERR:版本错误SQLError.TOO_LARGE_ERR:数据集过大错误SQLError.QUOTA_ERR:超过数据库配额错误SQLError.SYNTAX_ERR:语法错误SQLError.CONSTRAINT_ERR:约束错误*//////////////////////////////////localstorage/* //方法 key:返回指定位置的键的名称。 getItem: 返回指定键所对应的记录。 setItem:存储一个键值对。 removeItem:删除指定键对应的记录。 clear:删除所有的键值对。 */

0 0
原创粉丝点击