2

アプリケーションを作成していて、クライアントのローカル マシンに保存されているローカル データベースを使用したいと考えています。SQLITE使用する必要があるかどうか、または Visual Studio に役立つものがあるかどうかについて議論しています。もう 1 つは、アプリケーションの起動時にユーザー ディレクトリにプログラムでデータベースを作成することです。

私はオンラインでいくつかのことを見ていますが、記事はすべてSQL Serverに関するものであり、このアプリケーションでやりたいことではありません. すべてのデータをローカル マシンに保存する必要があります。

4

3 に答える 3

5

Visual Studio のツールを備えたSQL Server Compactを使用できます。これは SQL Server と構文互換性がありますが、そのデータはローカル ファイルに保存されるため、その場で (アプリの起動時などに) 作成できます。

于 2012-11-14T17:18:35.187 に答える
2

Web サイトから提供されているライブラリを使用して、その場で SQLite データベースを作成できます。私は個人的なコードのために多くのプロジェクトでそれを使用してきました。また、Data Explorer (IBM 製品) の内部アーキテクチャーの一部でも使用されています。データベース ファイルを作成するサンプル C#:

        if (!Directory.Exists(Application.StartupPath + "\\data"))
        {
            Directory.CreateDirectory(Application.StartupPath + "\\data");
        }
        SQLiteConnection conGlobal;
        if (!File.Exists(dbGlobal))
        {
            conGlobal = new SQLiteConnection("Data Source=" + dbGlobal + ";New=True;Compress=True;PRAGMA synchronous = 1;PRAGMA journal_mode=WAL");
            conGlobal.SetExtendedResultCodes(true);
            firstRun = true;
        }
        else
        {
            conGlobal = new SQLiteConnection("Data Source=" + dbGlobal + ";Compress=True;PRAGMA synchronous = 1;PRAGMA journal_mode=WAL");
            conGlobal.SetExtendedResultCodes(true);
        }
        try
        {
            conGlobal.Open();
        }
        catch (Exception)
        {
            //do stuff
        }

new=true が接続文字列として渡された場合、ファイルへの接続を開始するだけでファイルが作成されます。次に、他のデータベースと同じように、クエリを実行して結果を取得できます。

また、データベース ファイルをパスワードで保護して、SQLite-Shell または別の SQLite DB ビューアーでファイルを開くだけでアクセスできないようにすることもできます。

接続文字列で渡されるプラグマ ステートメントの詳細については、http ://www.sqlite.org/pragma.html を参照してください。

于 2012-11-14T17:22:49.383 に答える
1

プログラムでデータベースを作成する方法についてはよくわかりませんが (おそらくその意味でしたよね?)、SQL Server Compact Editionは、以前は単純なアプリケーションで役に立ちました。埋め込まれており、中程度の信頼でも実行されます。

于 2012-11-14T17:19:27.580 に答える