一尘不染

创建SQLite数据库和表

c#

已关闭 。这个问题需要细节或说明。它当前不接受答案。


想改善这个问题吗? 添加细节并通过编辑此帖子来澄清问题。

5年前关闭。

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

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

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


阅读 935

收藏
2020-05-19

共1个答案

一尘不染

下一个链接将带您进入精彩的教程,对我有很大帮助!

如何在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();
 }
2020-05-19