問題タブ [sqlite.net]
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 - クエリでテーブルを結合する方法
Xamarin の sqlite.net コンポーネントを使用してデータベース アプリケーションを開発しています。ORM 密結合モデルを使用して、単一のテーブルでデータベース操作を実行できます。
例えば。DB に XYZ モデルと XYZ テーブルがある場合、クエリを起動して、テーブルから XYZ オブジェクトのリストを取得できます。ここで使用されたデータ構造は、ExecuteQuery 操作用の XYZ でした。
しかし、たとえば結合クエリを使用して複数のテーブルで選択操作を行う必要がある場合、使用できるデータ構造は、2 つのテーブル/モデルの組み合わせタイプである必要があるため、クエリに含まれる単一のテーブルもありません。AndroidのカーソルのようなC#には何かありますか?
注: System.Data.Sqlite 名前空間で SqlDataReader を見つけましたが、SQLite.cs ライブラリにはありません。
どんな助けでも大歓迎です
ありがとう。
sqlite - Windows Phone 8 から SQLite 接続を取得しようとすると TypeLoadException が発生する
現在、Xamarin.Forms を使用して Windows Phone アプリケーションを開発しています。そのためには、Android と iOS のクロスプラットフォーム アプリケーションを作成するために、SQLite データベースを使用する必要があります。
そのため、次のドキュメントに記載されている手順に従いました: Xamarin.Forms で SQLite.Net を使用してローカル データベースを操作する
問題は、次のコードを使用して Windows Phone 8 で SQLite 接続を取得しようとすると、エラーが発生することです。
このメソッドを呼び出すと、次のメッセージとともに TypeLoadException がスローされます。
このようなエラーが発生する理由がわかりません。何かアイデアがあれば、それは素晴らしいことです!
私を助けることができるかもしれない人に事前に感謝します
encryption - 共有プロジェクト Xamarin でのクロス プラットフォーム データベース暗号化
Xamarin を使用して iOS および Android アプリケーションを開発しています。両方のプラットフォームに共通の 1 つの共有プロジェクトを作成しました。私はデータベースを使用しているので、その共通のものを共有プロジェクトに入れます。データベースファイルを暗号化する必要があります。
プロジェクトの構造はTaskyのようなものです。
Xamarin で提案されているように、この GitHubリンクから SQLite.cs ファイルを置き換えました。
有料のものとして使用できるSQL暗号コンポーネントはありません。
注: 代わりに、C# の AES によって DB ファイルを暗号化する方法もあります。
しかし、私は良いアプローチが必要です。
どんな提案でも大歓迎です。
c# - linqを使用してTableOjb1とTableObj2のWrapper objを返す方法
私の質問は、2 つのテーブルを結合するときに MergeObj のリストを返す方法です。私は試した:
しかし QueryJoin() は例外を与えます: System.NotSupportedException、結合はサポートされていません。
ADO.netではなくsqlite.netを使用していることに注意してください。
android - Xamarin android 用の Sqlite.net Pcl を使用してデータベースをアップグレードする
アプリケーションの新しいバージョンをリリースするときに、データベース テーブルの 1 つに新しい列を追加すると、データベースが更新されないという問題があります。新しい列または新しいテーブルがある場合に備えて、アップグレードバージョンのスクリプトを作成する方法を知っている人はいますか??
ありがとう
sqlite - 更新のエラー:「論理エラーまたはデータベースがありません」sqlitepcl
同じトランザクションで 2 つの更新を取得できません。
最初は実行されますが、2 番目のエラーです。
2 回目の更新を行うと、「ロジック エラーまたはデータベースが見つかりません」というエラーが表示されます。
次の例:
手伝ってくれますか?
c# - SQLite.Net、SQLite ビット データ型に相当する C#
私はC#で次のクラスを宣言します
そして、このメソッドを呼び出して、SQLite データベースに同等のテーブルを作成します
したがって、次のようにSQLiteでテーブルを作成します
ちょっとしたコラムを作りたくて
このために私は試しました
と
これらのプロパティは両方とも、整数の列になります
では、ビットをデータ型として持つ列を取得するには、IsActive プロパティをどのように宣言すればよいでしょうか。
もう 1 つ質問があります。プロパティを宣言し、それを非 null として指定した場合
次に、CreateTable() を呼び出すと、「Not Null 属性にデフォルト値が指定されていません」というエラーが表示されます。
コンストラクターでこのプロパティを初期化しようとしましたが、うまくいきませんでした。
これらの問題にどう対処すればよいですか?助けてください
xamarin.forms - SQLite.NetでAutoIncrementを避けるためにROWIDにアクセスしますか?
を使用するXamarin.Forms
アプリSQLite.Net
では、次のコードが機能します。
ただし、AutoIncrement
属性を削除すると、2 番目database.Insert
に Constraint 型の SQLiteException が発生します (シミュレーターをリセットした後でも)。
ただし、https: //www.sqlite.org/autoinc.html にある SQLite のドキュメントでは、パフォーマンス上の理由から、AutoIncrement
可能な限り避けるべきであると強調しています。AutoIncrement
ドキュメントは、を使用して回避できることを示唆していますrowId
。rowID
SQLite.Netにアクセスする方法はありますか?
******** 編集: ******** 例外のテキストは次のとおりです。
私の挿入コードは次のとおりです。
これは、 が存在しない場合に例外を取得し、 でAutoIncrement
正しく動作しAutoIncrement
ます。
注: インデックスがある場合は 1 から始まり、AutoIncrement
ない場合は 0 から始まるようです。これにより、Upsert コードにバグがあり、 がrowId
存在しない場合に 0 をテストしますAutoIncrement
が、そのバグはこの問題とは関係ありません。