SQLiteデータベースマルチプラットフォームアプリケーションと一般的なエラー分析

 

SQLiteは、自給自足のサーバーレスのゼロ構成のトランザクションSQLデータベースエンジンを実装するソフトウェアライブラリです。SQLiteは、世界で最も広く展開されているデータベースエンジンの1つです。SQLiteソースコードはオープンであり、許可の制限はありません。SQLiteには幅広いアプリケーションがあり、Adobe、Apple、Firefox、さらにはGoogle、Microsoft、SUNなどの企業を含むさまざまなソフトウェアでアプリケーションを使用できるのは、その無料、軽量、環境に配慮したその他の特性のためです。ホストコンピュータプロジェクトの開発。SQLiteも広く使用されています。本日は、SQLiteの展開、アプリケーション、および一般的なエラー分析について説明します。

1データベースの展開

他のデータベースと比較して、SQLiteデータベースは、展開がないという大きな利点があります。つまり、インストールせずに使用できますが、データベースクライアント管理ソフトウェアのサポートも必要です。SQLiteを含む多くのSQLiteクライアントソフトウェアがあります。データベースブラウザ、SQLite管理者、SQLite Expert Personal、SQLiteStudioなど。私はSQLite Studioを使用することを好みます。必要な子供用シューズのこの公式アカウントをフォローし、バックグラウンドでキーワードSQLiteStudioを送信して取得できます。後でSQLiteデータアプリケーションを導入するには、まずSQLiteを使用して簡単に作成できるデータベースとデータテーブルを準備する必要があります。作成が完了すると、ファイルが生成されます。

上の図に示すように、SQLiteデータベースはSQLiteDemoという名前で作成され、データテーブルはStudentという名前でデータベースに作成されます。Studentデータテーブルの下には、StudentID、StudentName、StudentGender、StudentClassの4つのフィールドがあります。 2つのデータが挿入されます。

2データベースアプリケーション

まず、Windowsアプリケーションを作成します。フォームに2つのコントロール、クエリボタン、および表示コントロールDataGridViewをドラッグアンドドロップするだけです。必要なのは、SQLiteデータベースに基づいてデータをクエリすることだけです。以下に示すように:

ご存知のとおり、Windows開発にはプラットフォームバージョンの問題があります。通常、任意のCPUを使用します。任意のCPUはデフォルトで32ビットのターゲットプラットフォームですが、64ビットプラットフォームでSQLiteを使用する必要がある場合もあります。今日は焦点を当てます。さまざまなプラットフォームにSQLiteアプリケーションを実装する方法を見てみましょう。

2.1デフォルトの任意のCPU

一般に、私たちのプロジェクトはターゲットプラットフォームとしてAny CPUを使用し、デフォルトは32ビットです。SQLiteデータベースアプリケーションを実装する場合は、最初にいくつかのクラスライブラリを準備する必要があります。SQLiteはMicrosoftデータベースではないため、WindowsシステムにはSQLiteクラスライブラリはありません。次の図に示すように、SQLiteクラスライブラリは32ビットと64ビットを区別します。

  • 最初にパブリッククラスライブラリをDebugルートディレクトリにコピーしてから、SQLiteHelperを手動で追加します。SQLiteHelperは、次の図に示すように、パッケージ化されたSQLiteデータベース操作クラスです。追加すると、エラーメッセージとSystem.Data.SQLiteが表示されます。エラーを排除するためにdllへの参照を追加します。

  •  

 

  • 接続文字列を設定します。SQLite接続文字列はデータベースファイルを指しているため、ここでは最初に前に作成したデータファイルをプロジェクトにコピーし、デバッグパスの直下に配置してから、フォームの初期化時に接続文字を設定します。接続文字列の形式は次のとおりです。

  • クエリボタンの下に、次のような簡単なクエリコードを記述します。

  • 次の図に示すように、プログラムを実行してクエリイベントを実行すると、コードはエラーを報告します。

このエラーは多くの子供たちによく見られます。エラーメッセージは非常に明白です。つまり、指定されたモジュールがありません。モジュール名はSQLite.Interop.dllです。それでも印象がある場合、このdllはSQLiteライブラリの32ビットおよび64ビットにあります。次の図に示すように、ビット独自のフォルダです。したがって、x86フォルダの下にあるこれら2つのファイルをDebugディレクトリにコピーするだけで済みます。CPUはデフォルトでx86であるため、ここではx86フォルダをコピーする必要があります。プラットホーム。

  • コピーが完了したら、もう一度[クエリ]をクリックすると、結果は次のようになります。

2.264ビットプラットフォーム

次の図に示すように、64ビットプラットフォームを使用する場合は、最初にターゲットプラットフォームをx64に変更します。

このとき、インターフェースを実行してクエリをクリックすると、次のエラーが表示されます。

 

このエラーの場合、x64フォルダー内の2つのファイルをDebugディレクトリにコピーし、それらを置き換えてから、クエリを実行して最終的なデータの読み取りを実行します。

下図のターゲットプラットフォームを同時にx64に変更して再生成すると、binフォルダーの下にx64フォルダーが再生成されます。このとき、生成されたコンテンツはすべてx64フォルダーに保存されます。これは以前と同じです。デバッグは何の関係もありません。

 

 

このとき、インターフェイスを再生成して実行し、[クエリ]をクリックすると、次のエラーが再度表示されます。

この問題が再び発生した場合、クラスライブラリのx64フォルダにあるこれら2つのファイルを、Binディレクトリのx64フォルダにあるDebugフォルダにコピーするだけでよく、データベースもコピーする必要があることは明らかです。にコピーします。再生成し、クエリをクリックすると、結果は次のようになります。

2.3x86プラットフォーム

下の図のターゲットプラットフォームをx86に変更すると、それが再生成されます。同様に、binフォルダーにx86フォルダーが再生成されます。このとき、生成されたすべてのコンテンツは、以前と同じx86フォルダーに保存されます。デバッグは何の関係もありません。ここでの解決策は上記の2.2の説明に似ているので、繰り返しません。

3全体の要約

各プラットフォームの説明を通じて、SQLiteの使用に共通するエラーはごくわずかであり、解決策も同様であることがわかりました。必要なサードパーティのdllがプロジェクトによって生成されたパスに配置されるように、常に原則に従う必要があります。プロジェクト生成のパスがわからない場合は、ソリューションをクリーンアップして再生成し、プロジェクトexeの変更時刻が現在の最新時刻であるかどうかを確認して、パスがプロジェクト生成パスであるかどうかを判断できます。

 

おすすめ

転載: blog.csdn.net/xiketangAndy/article/details/107383585