HTML5离线存储之WebSQL.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HTML 5离线存储之Web SQL 本篇没有考虑异步,多线程及SQL注入 WebDatabase 规范中说这份规范不再维护了,原因是同质化(几乎实现者都选择了Sqlite), 且不说这些,单看在HTML5中如何实现离线数据的CRUD,最基本的用法(入门级别) 1,打开数据库 2,创建表 3,新增数据 4,更新数据 5,读取数据 6,删除数据 事实上,关键点在于如何拿到一个可执行SQL语句的上下文, 像创建表,删除表,CRUD操作等仅区别于SQL语句的写法.OK,貌似SqlHelper啊,换个名字,dataBaseOperator就它了 executeReader,executeScalar两个方法与executeNonQuery严重同质, 下边的代码产生定义了我们的dataBaseOperator类,第二行 3-5行则定义打开数据库连接方法,类方法,效果类似C#中的静态方法,直接类名.方法调用 6-15行则定义executeNonQuery方法,意指查询数据库,与executeReader方法和executeScalar方法同质,均可返回记录集 整个 dataBaseOperator就完整了,很简单,唯一要指出的是,测试以下代码时请选择一个支持HTML5的浏览器!如Google Chrome //TODO;SQL注入? ? ??function?dataBaseOperator()?{};? ? ?dataBaseOperator.openDatabase?=?function?()?{? ? ?????return?window.openDatabase(dataBaseUserStories,?1.0,?dataBase?used?for?user?stories,?2?*?1024?*?1024);? ? ?}? ? ?dataBaseOperator.executeNonQuery?=?function?(sql,?parameters,?callback)?{? ? ?????var?db?=?this.openDatabase();? ? ?????db.transaction(function?(trans)?{? ? ?????????trans.executeSql(sql,?parameters,?function?(trans,?result)?{ ? ?????????????callback(result); ? ?????????},?function?(trans,?error)?{ ? ?????????????throw?error.message; ? ?????????}); ? ?????}); ? ?} ? ?dataBaseOperatordataBaseOperator.executeReader?=?dataBaseOperator.executeNonQuery; ? ?dataBaseOperatordataBaseOperator.executeScalar?=?dataBaseOperator.executeNonQuery;? 有了SqlHeper,再看业务处理层(Business Logic Layer) 业务处理类包括了创建表,删除表,新增记录,删除记录以及读取记录,这里没有写更新,实际上先删后增一样滴,即使要写也不复杂 function?userStoryProvider()?{? ? ?????this.createUserStoryTable?=?function?()?{? ? ?????????dataBaseOperator.executeNonQuery(CREATE?TABLE?tbUserStories(id?integer?primary?key?autoincrement,role,ability,benefit,name,importance,estimate,notes));? ? ?????};? ? ?????this.dropUserStoryTable?=?function?()?{? ? ?????????dataBaseOperator.executeNonQuery(DROP?TABLE?tbUserStories);? ? ?????};? ? ?????this.addUserStory?=?function?(role,?ability,?benefit,?name,?importance,?estimate,?notes)?{? ? ?????????dataBaseOperator.executeNonQuery(INSERT?INTO?tbUserStories(role,ability,benefit,name

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档