問題タブ [coolstorage]
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.
sqlite - wp7でcoolstorageを使用してsqlite dbを変更するにはどうすればよいですか?
Coolstorage と sqlite をデータベースとして使用して、wp7 用のアプリを作成しています。
私が sqlite を選んだ理由は、スキーマを更新する機能が優れているように見えるからです。
ただし、私のテストでは「alter table...」コマンドを実行できますが、列を追加してからその列を読み取ろうとすると、列が存在しないというエラーが発生します。
しかし、アプリを閉じて再度実行すると、列が表示されます。
接続を閉じようと考えましたが、coolstorage を使用してそれを行う方法がわかりません。方法はありますか?それはうまくいくでしょうか?
私は Coolstorage と SQLite の両方に慣れていないので、助けていただければ幸いです。
アプリを閉じて再度開くことなく、sqlite スキーマを変更するにはどうすればよいですか?
[更新: 2011 年 12 月 15 日] 影響を受けるテーブルをクエリする前にスキーマの更新を実行することで、この問題を回避しました。
テーブルに対してクエリを実行した後にスキーマを変更する方法を誰かが思いついた場合は、引き続き知りたいと思います。
coolstorage - CoolStorageの多対多の関係で追加のデータにアクセスするにはどうすればよいですか?
多対多の関係があるプロジェクトでCoolStorageを使用しています。一部の結合テーブルには、関係を説明する追加のデータがあります。
例:テーブルAlpha、Beta、AlphaBeta。
AlphaとBetaの間の多対多の関係は、AlphaBetaに保存されます。AlphaBetaの主キーは、Alpha(AlphaID)とBeta(BetaID)のキーの組み合わせです。これは(AlphaID、BetaID)です。
ただし、AlphaBetaには、「DisplayOrderINTNOTNULL」などの追加データもあります。
データクラスには、[ManyToMany( "AlphaBeta"、pure = true)]属性を使用して定義された多対多の関係がありますが、それぞれのDisplayOrderにアクセスするにはどうすればよいですか?
重要ではないと思いますが、これはSQLiteを使用したWindowsPhoneアプリです。
c# - Vici coolstorage テキスト フィールドが WP7 アプリで正しく表示されない (一部の文字が欠落している)
coolstorage ORMを使用してWP7アプリからアクセスするsqliteデータベースがあります。データベースのテキスト フィールド (ドイツ語) に使用される文字セットは UTF-8 です。データベースは非常に単純で、テーブルは 1 つしかありません。アプリの私のモデルは次のようになります。
そして、次のようにしてデータベースから行をフェッチします。
問題は、ドイツ語のすべての特殊文字が次のように表示されることです: �、たとえそれらがデータベースに適切に格納されていても。通常の ASCII 文字はすべて問題なく表示されます。
どうすればこれを解決できますか? 前もって感謝します。
sqlite - CoolStorage フィールドがフィルターと等しくない
私は、SQLite ローカル データベースを使用して Windows Phone 7 アプリケーションに取り組んでいますが、少し固執しています。
いくつかのクラスが定義されており、それぞれにマッピングが設定されており、いくつかのフィルタリングを使用してリストを取得したいと考えています。等しい値をチェックする方法の例はたくさん見つかりましたが、等しくないチェックの例はありません。
このフィルターは問題なく動作しますが、次のように更新すると失敗します。
(Services.CalendarDates.Date != @CurrentDate および Services.CalendarDates.Date.ExceptionType != 2)
エラー コードは次のとおりです: タイプ 'System.InvalidCastException' の最初のチャンス例外が Vici.CoolStorage.WP7.dll で発生しました
Services は OneToOne であり、Services.CalendarDates は OneToMany マッピングです。フィルター値を使いすぎていませんか? それとも何か間違っていますか? <> を使用しても機能しません。
c# - CoolStorage for MonoTouch アクティビティのログはありますか?
ASP.NET プロジェクトの一部として CoolStorage を使用する場合、CoolStorage アクティビティがダンプされる Web.Config でログ ファイルを定義できます。
MonoTouch に CoolStorage を使用する場合、同様の可能性はありますか?
c# - Monotouch で CoolStorage を使用したマッピングの問題
Monotouch で Vici CoolStorage を試していますが、関係に問題があるようです。以下を使用して、データベースに単一の調査を入力し、for ループを使用して 5 つの質問のリストを生成しようとしています。
私がそれを実行すると、質問をデータベース内の調査にマッピングする際に問題があるようです。表示されるエラーは「Vici.CoolStorage.CSException: Relation Survey could not read」です。
クラス
データベース テーブル
ループ
c# - 日付パラメータを使用する場合の「データ型の不一致」
プロジェクトにCoolStorageを実装しようとしていますが、日付パラメーターを使用すると問題が発生します。日付パラメーターとしてnullを渡すと、レコードが正常に追加されますが、実際の日付を渡すと、.Save()を呼び出して新しいレコードをデータベースに書き込むときにエラーが発生します。(Activa)CoolStorageソースコードを入手し、失敗するポイントを見つけましたが、修正方法がわかりません。
失敗するコードは次のとおりです(具体的にdbCommand.ExecuteNonQuery()
は行)。
sqlQueryには次のものが含まれます。
@ P18には、問題のある日付が含まれています。これは、値が次のCSParameterオブジェクトです。
また、使用されているデータベースはAccessです。スローされるエラーは、 {"条件式のデータ型の不一致"}を読み取るOldDbExceptionです。
誰かがこれを解決する方法について何かアドバイスを提供できますか?
編集: Schedule StartTimeフィールドは、ScheduleテーブルでDate/Timeとして定義されています。必要なプロパティをTrueに設定する必要がありますが、StartTimeを省略してレコードの追加をテストするために、無効にしています。パラメータは、CoolStorageクラスを介して次のように適用されます。
Schedule.StartTime = DateTime.Now行をコメントアウトすると、レコードを正常に追加できます。そうしないと、上記のエラーが発生します。ORMマッピングクラスを編集せずにフォーマットをテキストに変更することはできません。これにより、他の場所でエラーが発生することは間違いありません。CoolStorage DataProviderクラスを変更できると思いますが、これは必要ないと思いますか?
EDIT2:テストとして、上記のSQLをインターセプトして、@ P18参照を削除し、その場所に日付をハードコーディングして、レコードを正しく追加しました。
また、パラメーターの値を#yyyy-MM-dd hh:mm:ss#の形式の文字列としてキャストして変更しようとしましたが、基準式エラーでデータ型の不一致が発生しました。
EDIT3: CSParameterCollectionクラスを次のように修正して、DateTimeを文字列に変換するというAbhishek(edit-Dean)の提案に従って修正しました。別のデータベースを使用することにした場合、これで問題が発生しないことを願っていますが、Access用に修正されています。
c# - LINQはどのようにして結果を得るのですか
CoolStorageをORMとして使用していますが、データベースがクエリされる頻度について質問があります。
チームのリストを返します。また、各チームに含まれるユーザーの数を表示したいと思います。私は電話Team.List()
でチームを返還していますが、ユーザー数を返還する方法を考えることができる2つのオプションがあります。1つは、[OneToMany] SysUsersのカウントを返すプロパティをTeamクラスに追加することで、もう1つは、によって返された結果にLINQを使用することTeam.List()
です。以下のコードは両方のメソッドを示しており、どちらも同じ結果を返します。
これがデータベースの相互作用にどのように影響するかを理解しようとしています。たとえば、最初にチームのリストを返し、次に各チームに対して個別のクエリを実行してユーザー数を取得しますか?次に、さらに2つまたは3つのフィールドを追加したい場合、追加のフィールドごとに別の個別のクエリを実行しますか?2つのアプローチに違いはありますか?
私の懸念は、接続がうまくいかない場合、単純なクエリでさえ応答しなくなる可能性があることです。
CoolStorageには、代わりにアドホックSQLクエリを実行するオプションがありますが、より複雑なクエリの代わりにこれを実行する方がよいでしょうか。それとも私は何も心配していませんか?