166

在 C# 应用程序代码中,我想创建一个或多个 SQLite 数据库并与之交互。

如何初始化一个新的 SQLite 数据库文件并打开它进行读写?

创建数据库后,如何执行 DDL 语句来创建表?

4

1 回答 1

317

下一个链接将为您带来一个很棒的教程,这对我帮助很大!

如何在 C# 中使用 SQLITE

我几乎使用了那篇文章中的所有内容来为我自己的 C# 应用程序创建 SQLite 数据库。

不要忘记下载 SQLite.dll,并将其添加为您的项目的引用。这可以使用NuGet并通过手动添加 dll 来完成。

添加引用后,使用类顶部的以下行从代码中引用 dll:

using System.Data.SQLite;

您可以在此处找到 dll:

SQLite DLL 的

您可以在此处找到NuGet 方式

NuGet

接下来是创建脚本。创建数据库文件:

SQLiteConnection.CreateFile("MyDatabase.sqlite");

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();

string sql = "create table highscores (name varchar(20), score int)";

SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();

sql = "insert into highscores (name, score) values ('Me', 9001)";

command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();

m_dbConnection.Close();

在 C# 中创建创建脚本后,我认为您可能想要添加回滚事务,它更安全,并且可以防止数据库失败,因为数据将在最后以一个大块作为原子操作提交给数据库而不是小块,例如,它可能在 10 次查询中的第 5 次失败。

如何使用事务的示例:

 using (TransactionScope tran = new TransactionScope())
 {
     //Insert create script here.

     //Indicates that creating the SQLiteDatabase went succesfully, so the database can be committed.
     tran.Complete();
 }
于 2013-03-08T11:29:59.410 回答