問題タブ [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.

0 投票する
2 に答える
152 参照

android - Android & sqlite - アクセスする前にデータベースを作成して置き換える必要がありますか? または、データベースとクエリを開くことができますか?

SQLite で Eclipse SDK を使用して Android 開発を学び始めています。

別のアプリケーションなどで手動で作成した既存のデータベースがある場合、既存のデータベースを取り込むものであっても、最初に空白のデータベースを作成し、それを既存のものに置き換えることを強制されているようです。デシベル。

単純に接続して、既存のデータからクエリを実行できないのはなぜですか?

たとえば、「openDataBase」などを使用していますか? この...コード付きのサンプルプロジェクトの非常に簡単な例はありますか?

0 投票する
2 に答える
3107 参照

html - ローカルデータベース(websql)に必要な新しいフィールドが含まれているかどうかをテストし、含まれていない場合は追加します

PhoneGapとjQueryMobileを使用してiOSとAndroid用のクロスプラットフォームHTML/Javascriptアプリを構築しており、ローカルデータベース(localdatabase / websql)の1つのテーブルにいくつかの新しいフィールドを追加してアプリをアップグレードしています。

課題 データベースが新しいテーブルフィールド、既存のユーザーデータで拡張されたときに、ユーザーデータが削除されたり、アクセスできない古いバージョンのデータベースにロックされたりしないようにしたいと思います。

背景: 私のアプリには、ユーザーのデータ(収入と支出、およびいくつかの設定)のローカルデータベースがあります。これらのデータは永続的である必要があり、私が始めたときの方法はHTML5 localDatabase機能を使用していました。これは永続的であり、iOSとAndroidのブラウザー、およびほとんどのデスクトップブラウザーで利用できるためです。

localdbの処理を少し簡単にするために、persistenceJSと呼ばれるJavascriptプラグイン/ライブラリ/thingyを使用しています。しかし、私の質問は、persistenceJSに固有のものではありません。

私は、設定テーブルのいくつかの新しいフィールドを利用する新しいバージョンのアプリに取り組んでいます。したがって、これらのユーザーが新しいアプリをダウンロードして実行するときは、設定テーブルにこのフィールドが含まれているかどうかをテストする必要があり、含まれていない場合はフィールドを作成する必要があります。

このテストを行うにはどうすればよいですか?私は2つの考えを見る:

  1. openDatabase関数で使用されるデータベースラベル...を使用します。これは、バージョン番号を保存するために一部の開発者によって使用されているようです。このオプションに関する私の問題は、openDatabaseを使用してデータベースを開き(データベースが存在しない場合は新しいデータベースを作成し)、データベースがまだ存在しない場合は特にコールバックを実行する方法しか知らないことです。したがって、ラベルに「v2」などを指定してテーブルを開くと、新しいテーブルが作成されますか?もしそうなら、それは古いテーブルの値を新しいものにコピーしますか?

  2. テーブルフィールドの存在を確認します...openDatabaseを使用して、テーブルフィールドの存在をテストできます。そうでない場合は、追加できます。テストは、ユーザーがアプリを開くたびに実行されますが、これは少し原始的なようです。

ちなみに、webSQL / localDbが大君主によって非推奨になっていることは知っていますが、それでも私のツールであり、今のところはそれに固執したいと思います。

0 投票する
1 に答える
402 参照

javascript - openDatabase スタック

私は Blackberry Web Work のプロジェクトを持っていますが、モバイル プログラミングを行うのはこれが初めてです。window.openDatabase を使用してキャッシュデータベースを作成したいのですが、何かおかしいです。このデータベースを表示するためにアラートを追加しましたが、何も表示されませんでした。

また、この関数の前後にアラートを配置し、この関数の前にのみアラートを表示します。try catch エラーを配置しようとしましたが、それでもエラー メッセージは表示されません。

君の力が必要

どうも

ここに私の簡単なコードがあります:

0 投票する
1 に答える
4374 参照

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 で生成されたアプリの一部です:

});

0 投票する
3 に答える
3956 参照

javascript - Android 4.0.3、window.openDatabaseが機能しない

私はモバイルアプリに取り組んでいます。そのために、Phonegapでhtml5/jsを使用しています。window.openDatabase(...)を使用してローカルデータベースにデータを保存します。

これはAndroid2.xで正常に機能しますが、Android 4.0.3で試してみると、次のエラーが発生します。 D/CordovaLog(698): Uncaught TypeError: Object [object DOMWindow] has no method 'openDatabase'

私のコードは:

それがどこから来たのか、そして私がそれをどのように解決できるのか、あなたは考えていますか?前もって感謝します。

よろしくお願いします、Vi。

0 投票する
1 に答える
286 参照

javascript - Phonegapがトランザクション機能を取得しない

私はphonegapを使用してopendatabaseを使用していますが、デスクトップのChromeブラウザーですべてが正常に機能しますが、Androidデバイスで実行し、insertRecord()を呼び出すボタンをクリックすると、eclipseではないと表示されます。エラーが発生します。

私のコードは次のようになります

kzoomarketing.com/apps/oilapp/121/としてリンクしているので、見ることができます。電卓ページでは、右上の保存ボタンがすべてのフィールドを記録し、メモページに入力します。Webブラウザでは正常に動作します。

js関数をondevicereadyでラップして実行すると、上記のlogcatエラーが発生します。

誰かが私がこれをAndroidデバイスで実行するのを手伝ってくれますか?

0 投票する
1 に答える
232 参照

html - HTML5: 大規模な構造化されたローカル データへのアクセス

概要: 大きなローカル ファイルからデータのチャンク (最終的には JSON に変換されるとしましょう) を選択的に読み取るための適切な HTML5/javascript オプションはありますか?

私が解決しようとしている問題:
いくつかの既存のプログラムがローカルにあり、大量のデータを出力します。私は、人々がこれらの結果をブラウズできるようにする、ブラウザーベースの対話型ビューアーを提供したいと考えています。データがどのように書き出されるかを制御できます。すべてを 1 つの大きなファイルに書き出すことはできますが、非常に大きいため、メモリ内のすべてを読み取ることはできません。したがって、webapp からこれへの何らかのインデックス付きまたは db のようなアクセスを探しています。

解決策について
の考え: 1. ブルートフォース: HTML5 FileReader API には、ランダム アクセス用の優れた slice() メソッドがあります。したがって、ファイルの先頭にある種のインデックスを書き出し、それを使用して他の格納されたオブジェクトの位置を検索し、必要なときにいつでもそれらを読み取ることができます。この醜いことを実装しようとする前に、このような(またはそれ以上の)ことを行うJavaScriptライブラリがすでにあるかどうかを尋ねることにしました。

2. HTML5 ローカル データベース。基本的に、ユーザー指定のローカル ファイルに基づいてデータベースへの接続 (読み取り専用) を開く HTML5 openDatabase() 呼び出しのアナログを探しています。私が理解していることから、プリロードされたデータベースでファイルを指定する方法はありません。さらに、そのようなハッキングがあったとしても、ローカル ファイル形式がブラウザー間で同じになるかどうかは明らかではありません。SQL ステートメントからブラウザーのローカル データベースにデータを入力する phonegap ソリューションを見てきました。私もそれを行うことができますが、私が話しているデータは非常に大きい (5 ~ 10 GB) ため、ロードに時間がかかり、そのような重複はかなり無意味に思えます。

0 投票する
2 に答える
186 参照

javascript - クロージャーとコールバック

私はデータベース関数に取り組んでおり、コードの他の場所で使用できるように fetchAll から結果を返す必要がありますが、その方法がわかりません:

明らかな何かが欠けていると思います。

ありがとう

アントニー

0 投票する
2 に答える
3034 参照

android - SECURITY_ERR: openDatabase での DOM 例外 18

ストレージに WebSQL を使用する Web ベースの Android アプリがあります。何らかの理由で、openDatabaseある時点で (ボタンのクリックに応答して) を呼び出すDOMExceptionと、メッセージとともに が発生します"SECURITY_ERR: DOM Exception 18"

私は PhoneGap を使用していないことに注意してください。

ここで私が尋ねている主な質問は次のとおりです: DOMException 18 の考えられる原因は何openDatabaseですか?

詳細: この例外は、データベースがまだ存在しない場合にのみ発生します。すでに存在する場合は、期待どおりに機能します。呼び出しを行う関数openDatabaseは、アプリの別の部分で使用され、正常に動作します。

私がこれまでに試したこと

  • データベースのサイズを縮小する - アプリの別の部分によって作成されているため、問題になることはありません。
  • 外部ストレージのアクセス許可を確認しましたが、これも問題ではありません。
  • USB ケーブルが差し込まれているとこの問題が発生する可能性があることをどこかで読みましたが、この場合の原因ではありません。

編集: これはコマンドがどのように見えるかです:

0 投票する
0 に答える
331 参照

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 エラーが発生します。