在C#应用程序代码中,我想创建一个或多个SQLite数据库,然后与之交互。
初始化新SQLite数据库文件并打开它进行读写的首选方法是什么?
在创建数据库之后,如何执行DDL语句来创建表?
答案 0 :(得分:256)
下一个链接将为您带来一个很棒的教程,这对我帮助很大!
我几乎使用该文章中的所有内容为我自己的C#应用程序创建SQLite数据库。
不要忘记下载SQLite.dll,并将其添加为项目的参考。 这可以使用 NuGet 并手动添加dll来完成。
添加引用后,请使用代码顶部的以下代码从代码中引用dll:
using System.Data.SQLite;
你可以在这里找到dll:
您可以在此处找到 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();
}