HTML5 Web SQL Database 数据库

2019-03-13 22:14|来源: 领悟书生

Web Database 介绍

Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范。它通过一套API来操纵客户端的数据库。Safari、Chrome、Firefox、Opera等主流浏览器都已经支持Web SQL Database


HTML5WebDatabase 操作使用


WebSQL数据库有三个核心方法:


1)打开数据库openDatabase()方法:

此方法创建数据库对象,既可以使用已有的数据库,也可以创建新的数据库。



2)事务transaction()方法:

此方法可以用于控制事务处理,执行提交操作或回滚操作。


db.transaction(  function(tx) {              
  
});


3)执行SQL命令executeSql()方法:

此方法用于执行SQL查询。

db.transaction(  function(tx) {         
    tx.executeSQL(“SQL语句”)
});


实例

<!DOCTYPE HTML>
<html>
<head>
<meta charset=utf-8>
<title>HTML5 Web SQL Database 数据库</title>
</head>
<body>
<script type="text/javascript">
var db = window.openDatabase("mydata", "1.0","数据库描述",20000);
//window.openDatabase("数据库名字", "版本","数据库描述",数据库大小);
if(db)  
     alert("新建数据库成功!"); 
      
db.transaction(function(tx) {
    tx.executeSql("CREATE TABLE test (id int UNIQUE, 
        mytitle TEXT, timestamp REAL)");
});
 
db.transaction(function(tx) {
    tx.executeSql("INSERT INTO test (mytitle, timestamp) 
        values(?, ?)", ["WEB Database", new Date().getTime()], 
        null, null);
});
 
//db.transaction(function(tx) {
//    tx.executeSql("DROP TABLE qqs");
//})
 
//db.transaction(function(tx) {
//    tx.executeSql("update test set mytitle=? 
//    where mytitle = 'fsafdsaf'",['xp'],null,null);
//});
 
db.transaction(function(tx) {
    tx.executeSql("SELECT * FROM test", [],  
        function(tx, result) {
        for(var i = 0; i < result.rows.length; i++){ 
        document.write('<b>' + 
                         result.rows.item(i)['mytitle'] + 
                         '</b><br />'); 
        } 
    }, function(){
        alert("error");
    }); 
}); 
</script>
</body>
</html>

用Google Chrome浏览器打开的效果如下


本文链接:HTML5 Web SQL Database 数据库 ,由领悟书生原创

转载请注明出处【http://www.656463.com/article/340】

相关问答

更多
  • 它是本地浏览器存储,然后读取此表单同一域的任何页面没有问题。 它专为它而设计。 当您需要跨不同域共享Web SQL数据库时,会出现此问题,在这种情况下,您应该处理同源策略 It's local browser storage then no problem to read this form any page of the same domain. It is designed especially for it. The problem appear when you need to share Web ...
  • 考虑到只有WebSQL支持您列出的所有三个要求,您的选择不应该简单吗? 您没有了解Safari或Android的开发路线图,因此请使用您可用的。 Considering only WebSQL supports all three requirements you have listed, shouldn't your choice be simple? You have no insight into the development roadmap for Safari or Android, so us ...
  • 对于Android平台,您可以创建一个本机应用程序,然后使用webview显示前端(如果它确实非常重要,以保持HTML),然后使用JavaScript桥接器允许WebView中的内容与您的交互原生应用。 根据您对应用程序的描述,我认为您最好创建一个本机应用程序。 正如您在评论中所说,您切换平台的原因之一是由于缺乏控制。 为什么然后通过在您的堆栈中引入各种混合应用程序框架立即重新打开这些蠕虫。 长话短说,如果你只是采用原生方法,你将拥有完全控制(很可能是更好的产品)。 For the android plat ...
  • 可能最好的解决方案是将该值设置为JSON。 var objectValue = JSON.stringify({name:"John",lastname:"Doe", other:"other staff"});//NOTE: your form data if (typeof (sessionStorage) !== "undefined") { if (sessionStorage.keyForStore ) { try { ...
  • 将您的Chrome导航到chrome://version url并检查配置文件路径值。 你的sqlite数据库应该放在它的'数据库'文件夹中。 而你2的特定问题发现行(而不是4)可能是由插入具有相同ID的行引起的。 id列是唯一的,所以额外的插入失败。 Navigate your Chrome to chrome://version url and check the Profile Path value. Your sqlite db should be inside it, in 'databases' ...
  • Chrome和Safari都有数据库GUI和命令行界面。 正如您所发现的,它们位于Developer Tools的“Resources> Databases”选项卡下(在Safari中称为Web Inspector)。 两者都非常相似,因为两种浏览器都基于Webkit。 您可以通过选择数据库的名称来获取临时查询的命令行界面。 在能够查看数据库之前,您必须在控制台或代码中调用openDatabase() 。 该数据库基于SQLite,因此您可以使用SQLite在此接受的几乎所有命令,除了帮助程序命令,例如'. ...
  • 数据库存储在客户端的不同位置: Windows:/ Users / {user} / AppData / Apple Computer / Safari / Databases Safari:〜/ Library / Safari / Databases 此文件夹中有一个master数据库文件,指向相关子文件夹中的数据库。 您可以在资源管理器/ Finder中查看数据库的大小。 但是,我发现数据库的大小取决于平台(并且数据库大小在Safari和Chrome之间变化很大)。 The database is s ...
  • HTML5 Web SQL数据库实际上是SQLite。 SQLite没有DATETIME类型 。 如果你发送字符串,它会将它们存储为字符串。 SQLite建议您使用ISO-8601规范格式(例如“2012-09-22”),以便比较按预期工作。 SQLite提供了许多有用的日期时间函数,用于处理数据库中的日期时间值。 看到这里 。 或者,您可以存储毫秒,但我个人更喜欢存储字符串,因为它们是人类可读的,有助于调试。 I found the solution. Here is the code: SELECT * ...
  • 我一直在研究并找到了一些 JSormDB XBSDB TaffyDB JSINQ TrimQuery AMASS 也与此有关。 希望这有助于某人。 I've been researching and found a few JSormDB XBSDB TaffyDB JSINQ TrimQuery AMASS also relevant this and this. Hope this helps out someone.
  • 另请查看我自己的图书馆https://bitbucket.org/ytkyaw/ydn-db/wiki/Home 。 该库支持iOS,Android和Windows Phone 8。 目标 美丽的数据库API,用于安全,强大,高性能,可维护,大规模的JavaScript Web应用程序。 特征 支持IndexedDB,WebSQL和WebStorage存储机制。 支持异步IndexedDB API的所有功能。 经过良好测试的闭包库模块 修复了模式,自动版本控制,动态模式生成,同时维护多个连接(在选项卡或工作 ...