問題タブ [web-sql]

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 に答える
2549 参照

javascript - Web SQL エラー「データベースの現在のバージョンと `oldVersion` 引数が一致しません」

これらの関数セットを実行しようとしています:

しかし、これを実行するとエラーが発生しますcurrent version of the database and 'oldVersion' argument do not match。ここで何が間違っているのかわかりません。

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

javascript - html 5 ストレージ websql、および localStorage : データはどのくらいの期間保存されますか?

新しい Html 5 では、ブラウザにデータを保存する主な方法が 3 つあります。

  • ローカルストレージ
  • WebSQL データベース
  • インデックス付きデータベース

タイプごとに、データが保存される期間を知りたいですか?ユーザーが翌日に入った場合、データはまだそこにありますか? 1ヶ月後?そして1年?

ありがとう

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

synchronization - webSQL データベースと MySQL データベース間のデータの同期

私が書いているアプリケーションでは、ローカルの webSQL データベースとリモートの MySQL データベースの間で双方向の同期を維持する必要があります。

Persistencejs や Impel.inTouch などのライブラリに出くわしました。Persistencejs には、必要なプラグインがあるようですが、収集したところ、オブジェクトごとの粒度でのみ同期するため、データベースの一貫性が失われる可能性がありますか?

サーバー側の例もあまり明確ではなく、Persistencejs がデータベース スキーマを同期するかどうかについても混乱しています。

一方、Impel.inTouch は、データではなく、データベース スキーマの同期を維持することにのみ焦点を当てているようです。

リモートの MySQL データベースとローカルの WebSQL データベースの間で一連のテーブルを同期する簡単な方法を探しています。私がすでに組み込んだフレームワークは、jQuery と jQuery mobile です。

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

javascript - いくつかのデータを親と組み合わせますか?

この質問をより適切に定式化する方法の提案を歓迎します。
次のようなデータベースクエリがあるとします。

以下にHTML出力の例を示します。内のすべての属性divは、対応する値を持つデータベースフィールドです。

jacobとGabyから得た回答は、以下のHTMLに基づいています。このように提供すれば問題がわかりやすくなると思ったので、これは私の間違いでした。

どうすれば次のように取得できますか?

そして、より多くのGUIについては、このJSFiddleように最後を見る必要があります。

JACOBの例で解決:

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

javascript - IndexedDBの概念上の問題(関係など)

私はWebアプリケーションのオフライン機能についての論文を書いています。私の仕事は、サーバー側のリレーショナルデータベースとクライアントとサーバー間のAjax/JSONトラフィックを備えたWebアプリケーションを介したオフラインストレージの可能性を示すことです。私の最初の実装では、localStorageを使用したアプローチを使用し、リクエストURLをキーとして各Ajax応答を値として保存しました。アプリは問題なく動作します。ただし、次のステップでは、クライアント側のデータベースを使用して、より高度なバージョンを実装したいと思います(つまり、論文で必要です)。サーバーはリレーショナルデータベースを維持しているため、WebSQLデータベースが直感的な選択でした。しかし、ご存知のように、この標準は廃止されており、将来が不透明なテクノロジーは使用したくありません。したがって、IndexedDBを使用してクライアント側のデータベースロジックを実装したいと思います。不運にも、

私のタスクはかなり単純なようです 。IndexedDBを使用してクライアントにサーバー側データベースを実装し、サーバーから一度フェッチされたすべてのデータを複製します。これをはるかに簡単にしない問題は次のとおりです。

  • サーバー側のデータベースはリレーショナルであり、IndexedDBは(多かれ少なかれ)オブジェクト指向です
  • クライアント側とサーバー側のデータベースを同期する直感的な方法はありません
  • サーバー上で外部キーとJOINを使用して実装されるIndexedDBの関係を直感的に実装する方法はありません。

今、私は実装を開始することを本当に恐れている概念を念頭に置いています。サーバーデータベース内のすべてのテーブルにオブジェクトストアを作成し、さまざまなオブジェクトストア内のリレーションオブジェクトを手動でプログラムすることを考えました。要するに、大学のコースを管理する私のアプリケーションでは、7つのオブジェクトストアがあります。

サーバーからのJSON応答の例で私のアイデアを示したいと思います(/*これらはコメントです*/):

IndexedDBを使用してデータを格納するアルゴリズムは、オブジェクトストアに適用される各オブジェクトを適切なオブジェクトストアに格納し、オブジェクトをこれらのオブジェクトへの参照に置き換えます。たとえば、上記のコースオブジェクトは、オブジェクトストア'course'では次のようになります。

IndexedDBを使用してデータを取得するアルゴリズムは、次のようになります(再帰パターンを漠然と念頭に置いています)。

特にIndexedDBの非同期性のために、この実装が非常に面倒であることは明らかです。また、コースオブジェクトを取得するためだけにデータベースに対してさまざまなトランザクションが発生し、パフォーマンスが大幅に低下します(とにかく、IndexedDBトランザクションのパフォーマンスがどのようになるかはわかりません)。

どうすればこれをより良く、より簡単に行うことができますか?

私はすでに同様の問題を表すこれらのスレッドを見ました:link1link2。これらには、これ以上簡単な解決策はありません。さらに、いくつかの理由から、IndexedDBラッパーフレームワークの使用は避けたいと思います。

また、自分の問題についてIndexedDBで完全に間違った方向に進んでいることも想像できます。

編集:

最終的に、IndexedDBのオブジェクト自体に参照を格納するというアプローチを追求することになりました。これにより、参照が多い大量のデータの場合に、パフォーマンスの問題が発生する可能性があります。ただし、賢く使用すれば、ほとんどの場合、膨大な量の反復とデータベースヒットを回避でき、複雑なデータベーススキーマをメモリまたはIndexedDB自体に格納する必要はありません。

一般的に言って、私はIndexedDBをスキーマレスデータベースとして動的でまっすぐなアイデアを何らかの方法で誤解しているという印象を受けます。しかし、いずれにせよ、私はすべてをJavaScriptで実装しました。それは正常に機能し、矛盾が発生する可能性はありません。

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

google-chrome-extension - Chrome 拡張機能間の公開データベース

公開データベースを作成して、他の拡張機能がそれにアクセスし、テーブルを作成し、エンティティを追加し、必要に応じてエンティティを削除できるようにしたいと考えています。

これを行う唯一の方法は、複数の拡張機能間でメッセージの受け渡しを使用することであることがわかりましたが、他の拡張機能 ID を知るために「管理」へのアクセス許可が必要なため、この解決策には問題があります。

ID を知らなくてもすべての拡張機能にメッセージを送信するオプションはありますか? または、pub-sub 同期なしで public db を実装する別の方法がありますか?

ところで - localStorage または WebSQL を使用できます。

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

javascript - WebSQL が非推奨になったときに、HTML5 オフライン アプリとうまくやっていく方法は?

WebSQL はすべてのサポートを失い、開発が停止しているため、HTML5 を使用して Web アプリに Offline Storage を実装するにはどうすればよいでしょうか。Google Chrome と Safari にはまだブラウザーの一部として含まれていることは知っていますが、すぐに失われると思います。では、どのテクノロジーがそれに取って代わり、webSQL を使用する代わりにオフライン アプリを使用するために実装する必要があるさまざまなものは何ですか?

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

javascript - 非同期ステートメントを使用した変数スコープの理解

私が次のことをするとき:

MfgIDのリストを希望どおりに取得し、その後にdbo.transaction非同期で実行されているため、不明なもののリストを取得します。

変数をに渡すにはどうすればよいdbo.transactionですか?

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

html - 作成後の HTML 5 web sql データベースのサイズの確認

Safari で HTML 5 Web SQL データベースを使用しています。データベースのサイズを 5 MB に設定しています。データベースを作成した後、サイズが増加しましたが、データベースの新しいサイズを見つけることができません。作成後のデータベースのサイズはどこで確認できますか?