问题标签 [opendatabase]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android & sqlite - 我必须在访问数据库之前创建和替换数据库吗?或者我可以打开数据库并查询吗?
我开始学习使用带有 SQLite 的 Eclipse SDK 的 android 开发。
如果我有一个现有的数据库,我在另一个应用程序等中手动创建了它。似乎所有示例,即使是那些引入现有数据库的示例,都被强制调用先创建一个空白数据库,然后用现有的数据库替换它D b。
为什么我不能简单地连接到它,并从现有数据中查询?
例如,使用“openDataBase”或类似的?有没有人有一个非常简单的例子......带有代码的示例项目?
html - 测试本地数据库(websql)是否包含所需的新字段,如果没有则添加它们
我正在使用 PhoneGap 和 jQueryMobile 为 iOS 和 Android 构建一个跨平台的 HTML/Javascript 应用程序,并且我正在使用本地数据库 (localdatabase/websql) 的一个表中的一些新字段(除其他外)升级我的应用程序。
挑战 我想确保当数据库使用新表字段、现有用户数据扩展时,用户数据不会被删除或锁定在无法访问的旧版本数据库中。
背景: 我的应用程序有一个用户数据的本地数据库(收入和支出,加上一些设置)。这些数据需要持久化,当我开始时,要走的路是使用 HTML5 localDatabase 功能,因为它是持久的,并且可用于 iOS 和 Android 浏览器以及大多数桌面浏览器。
我正在使用一个名为 persistenceJS 的 Javascript 插件/库/thingy 来使处理 localdb 变得更容易一些。但我的问题并不是针对persistenceJS 的。
我正在开发一个新版本的应用程序,它使用了设置表中的一些新字段。因此,当这些用户下载并运行新应用程序时,它必须测试他们的设置表是否包含该字段,如果没有,则必须创建该字段。
我该如何做这个测试?我看到了两条思路:
使用数据库标签...在 openDatabase 函数中使用。这似乎被一些开发人员用来存储版本号。我对这个选项的问题是我只知道如何使用 openDatabase 打开一个数据库(如果不存在则创建一个新数据库),并在数据库尚不存在时专门运行回调。因此,如果我在标签中指定诸如“v2”之类的内容时打开表,它会创建一个新表吗?如果是这样,它会将旧表的值复制到新表中吗?
检查表字段是否存在...我可以使用 openDatabase 然后测试表字段是否存在。如果他们没有,我可以添加它们。每次用户打开他们的应用程序时都会运行测试,这似乎有点原始。
顺便说一句:我知道 webSQL/localDb 已被霸主弃用,但它仍然是我的工具,我现在想坚持使用它。
javascript - openDatabase 卡住了
我有一个 Blackberry Web Work 项目,这是我第一次进行移动编程。我想使用window.openDatabase创建缓存数据库但是有些奇怪,我在显示这个数据库之后发出警报,但它没有显示任何东西。
我还在这个函数之前和之后放置了警报,只在这个函数之前显示警报我尝试放置try catch错误,但它仍然不显示错误消息。
需要你的帮助
谢谢
这是我的简单代码:
javascript - window.openDatabase 抛出 TypeError: Object[object DOMWindow] has no method 'openDatabase' on Android
我正在使用 Sencha Touch 2.0.1 并尝试使用以下方法打开 SQLite 数据库:
在 iPhone/IOS 模拟器上,这是可行的。在 Android 设备或模拟器上出现异常:
我正在使用 Sencha 构建原生应用程序(尽管我正在迅速失去信心......)所以我没有使用 PhoneGap。
Sencha 的包装创建和 AndroidManifest.xml 文件,但我看不到为
我不确定这是否是问题所在!
非常感谢任何帮助,因为这让我悄悄发疯。
编辑:这是 JS - 它是 Sencha Touch 生成的应用程序的一部分:
});
javascript - Android 4.0.3,window.openDatabase 不起作用
我正在开发一个移动应用程序,为此我将 html5/js 与 Phonegap 一起使用。我使用 window.openDatabase(...) 将一些数据存储在本地数据库中。
这适用于 Android 2.x 但是当我尝试使用 Android 4.0.3 时,我发现以下错误:
D/CordovaLog(698): Uncaught TypeError: Object [object DOMWindow] has no method 'openDatabase'
我的代码是:
你知道这是从哪里来的吗?我该如何解决?提前致谢。
亲切的问候,维。
javascript - Phonegap 不支持交易功能
我正在使用带有 phonegap 的开放数据库,并且在我桌面上的 Chrome 浏览器中一切正常,但是当我在我的 android 设备上运行它并单击调用 insertRecord() 的按钮时,它说不是用 eclipse 我得到错误
我的代码看起来像这样
我有一个指向它的链接 kzoomarketing.com/apps/oilapp/121/ 所以可以看到它。在计算器页面上,右上角的保存按钮记录所有字段并将它们填充到笔记页面中。它在网络浏览器中运行良好。
如果我将 js 函数更改为包装在 ondeviceready 中并运行它,我会收到上面提到的 log cat 错误。
谁能帮我让它在android设备上运行。
html - HTML5:访问大型结构化本地数据
总结: 有没有很好的 HTML5/javascript 选项可以选择性地从大型本地文件中读取数据块(假设最终转换为 JSON)?
我要解决的问题:
一些现有程序在本地输出大量数据。我想提供一个基于浏览器的交互式查看器,允许人们浏览这些结果。我可以控制数据的写出方式。我可以将它全部写在一个大文件中,但由于它非常大,我不能只在内存中读取整个内容。因此,我正在从我的 web 应用程序中寻找某种索引或类似 db 的访问。
对解决方案的思考:
1. 蛮力:HTML5 FileReader API 有一个不错的 slice() 方法用于随机访问。所以我可以在文件的开头写出某种索引,用它来查找其他存储对象的位置,并在需要时读取它们。我想在尝试实现这个丑陋的东西之前,我想问一下是否已经有 javascript 库可以做这样(或更好)的事情。
2. HTML5本地数据库。本质上,我正在寻找一个类似于 HTML5 openDatabase() 调用的方法,该调用将基于用户指定的本地文件打开(只读)到数据库的连接。据我了解,无法指定带有预加载数据库的文件。此外,即使有这样的黑客攻击,也不清楚本地文件格式是否跨浏览器相同。我已经看到了从 SQL 语句填充浏览器本地数据库的 phonegap 解决方案。我也可以这样做,但是我说的数据非常大(5-10GB):加载需要一段时间,而且这种重复似乎毫无意义。
javascript - 闭包和回调
我正在开发一个数据库函数,需要从 fetchAll 返回结果,这样我就可以在代码的其他地方使用它,但不知道该怎么做:
我想我错过了一些明显的东西。
谢谢
安东尼
android - SECURITY_ERR:openDatabase 上的 DOM 异常 18
我有一个基于 Web 的 Android 应用程序,它使用 WebSQL 进行存储。出于某种原因,在某一点调用openDatabase
(响应按钮单击)会导致DOMException
带有消息的 a "SECURITY_ERR: DOM Exception 18"
。
请注意,我没有使用 PhoneGap。
我在这里问的主要问题是: DOMException 18 on 的可能原因是什么openDatabase
?
更多细节:仅当数据库尚不存在时才会发生此异常。如果它已经存在,它将按预期工作。进行调用的函数openDatabase
在应用程序的另一部分中使用并且工作正常。
到目前为止我已经尝试过:
- 减少数据库的大小 - 应该不是问题,因为它是由应用程序的另一部分创建的。
- 我已经检查了外部存储权限 - 再次,应该不是问题。
- 我在某处读到插入的 USB 电缆可能会导致此问题 - 在这种情况下不是导致它的原因。
编辑: 这是命令的样子:
webkit - 在 TideSDK 中为 Webkit 设置 enable-universal-access-from-file-uris?
我可以在 TideSDK 中为 Webkit 设置 enable-universal-access-from-file-uris=true 吗?从 TideSDK 访问 openDatabase 会导致 SECURITY_ERR: DOM Exception 18 错误。