ホームページ  >  記事  >  データベース  >  .Net で SQLite データベースを運用することの詳細な利点は何ですか?

.Net で SQLite データベースを運用することの詳細な利点は何ですか?

php是最好的语言
php是最好的语言オリジナル
2018-08-03 11:59:491918ブラウズ

概要:

SQLite ライブラリのインストールについては非常に特殊です:

ダウンロード アドレス: http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki --ok!
https://www.sqlite.org/download.html ---Android、Mac、Linux、その他のプラットフォームでのダウンロード用。

インストール パッケージをダウンロードします:
sqlite-netFx20-setup-bundle-x64-2005-1.0.108.0.exe --- テストはOK!
または sqlite-netFx45-setup-bundle-x64-2012-1.0.108.0.exe まずバージョン 2.0 をアンインストールしてからインストールする必要があります。 ---テストOK!
(他のソフトウェアとの一貫性を保つために、.Net 4.5 バージョンをインストールすることをお勧めします!)

デフォルトのインストール パス: C:Program FilesSystem.Data.SQLite

.Net 参照: System.Data を引用符で囲むだけです。インストール bin ディレクトリ .SQLite.dll ファイルは 1 つだけです。

注:

1. バンドル付きダイナミック ライブラリは、ダイナミック ライブラリが混合モードでコンパイルされていることを意味します。純粋な x86 モードと純粋な x64 モードのライブラリもあり、実際のニーズに応じて選択できます。 (プロジェクト生成時にターゲットプラットフォームと一致している必要があります!)

2. ダウンロードしたライブラリをインストールする必要があります。 ! (引用のみで、インストールはされません。実行時にエラーが報告されます!!)

3. .Net が SQLite を使用する場合、System.Data.SQLite.dll を引用するだけでよく、sqlite3.dll は必要ありません。全て。予想外でした!

SQLite の概要:

SQLite は、ローカル データ ストレージに使用される軽量データベースです。オープンソースデータベース。

利点: 占有リソースが非常に少なく、組み込みデバイスで数百 K のメモリを必要とします。サポートされる処理速度は T レベルです。追加の依存関係はありません。複数の言語。

詳細な利点:

1. 設計ターゲットは組み込みであり、占有リソースが非常に少ないため、組み込みデバイスではわずか数百 K のメモリで十分です。

2. クロスプラットフォームおよび多言語サポート: Windows/Linux/Unix などの主流のオペレーティングシステムをサポートし、C、C++、PHP、Perl、Java、C# などの多くのプログラミング言語
と組み合わせることができます。 、Python、Ruby など。

3. 高速: 世界的に有名な 2 つのオープンソース データベース管理システムである Mysql と PostgreSQL と比較して、その処理速度はそれらよりも高速です。
(ほとんどの通常のデータベース操作では、一部の一般的なデータベースよりも高速です。)

4. 最大 2TB のデータベース サイズをサポートします。

5. 十分に小さい、約 130,000 行の C コード、443 万行

6. シンプルで簡単な API

7. ソースコードは完全にオープンソースであり、販売を含むあらゆる目的に使用できます。

8. トランザクション処理機能など​​もサポートしています。

.NETを使ってSQLLITEを操作する:

サンプルコード1:

  public string Query()        {            string datasource = "e:/tmp/test.db";            System.Data.SQLite.SQLiteConnection.CreateFile(datasource);            //连接数据库            System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();            System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();            connstr.DataSource = datasource;            connstr.Password = "admin";//设置密码,SQLite ADO.NET实现了数据库密码保护            conn.ConnectionString = connstr.ToString();            conn.Open();            //创建表            System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();            string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";            cmd.CommandText = sql;            cmd.Connection = conn;            cmd.ExecuteNonQuery();            //插入数据            sql = "INSERT INTO test VALUES('a','b')";            cmd.CommandText = sql;            cmd.ExecuteNonQuery();            //取出数据            sql = "SELECT * FROM test";            cmd.CommandText = sql;            System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();            StringBuilder sb = new StringBuilder();            while (reader.Read())            {                sb.Append("username:").Append(reader.GetString(0)).Append("\n")                .Append("password:").Append(reader.GetString(1));            }            //MessageBox.Show(sb.ToString());
            return sb.ToString();        }

サンプルコード2: トランザクション操作:

using (SQLiteConnection conn = new SQLiteConnection(connectionString))
            {
                conn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = conn;
                SQLiteTransaction tx = conn.BeginTransaction();
                cmd.Transaction = tx;
                try
                {
                    for (int n = 0; n < SQLStringList.Count; n++)
                    {
                        string strsql = SQLStringList[n].ToString();
                        if (strsql.Trim().Length > 1)
                        {
                            cmd.CommandText = strsql;
                            cmd.ExecuteNonQuery();
                        }
                    }
                    tx.Commit();
                }
                catch (System.Data.SQLite.SQLiteException E)
                {
                    tx.Rollback();
                    throw new Exception(E.Message);
                }

関連記事:

SQLiteリレーショナルデータベースの使い方

.NETでMySQLを使う方法データベース

関連動画:

SQLite 上級コース

以上が.Net で SQLite データベースを運用することの詳細な利点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。