C# 如何使用System.Data.SQLite和C从零开始在代码中创建和持久化SQLite DB?

C# 如何使用System.Data.SQLite和C从零开始在代码中创建和持久化SQLite DB?,c#,sqlite,system.data.sqlite,C#,Sqlite,System.data.sqlite,我有一个数据库创建工具,正在从头开始创建数据库。这与前面提到的方法相同。它创建了一个临时数据库,我可以向其中添加数据 当我关闭数据库时,它会被删除,这是预期的行为,但我不希望它被删除 我在System.Data.SQLite中找不到保存或创建方法,无法使用System.IO.File.CreatemyDBFilename创建方法;创建SQLite无法连接的文件 如何从头开始用代码创建和持久化数据库?试试这个, SQLiteConnection.CreateFilec:\mydatabasefil

我有一个数据库创建工具,正在从头开始创建数据库。这与前面提到的方法相同。它创建了一个临时数据库,我可以向其中添加数据

当我关闭数据库时,它会被删除,这是预期的行为,但我不希望它被删除

我在System.Data.SQLite中找不到保存或创建方法,无法使用System.IO.File.CreatemyDBFilename创建方法;创建SQLite无法连接的文件

如何从头开始用代码创建和持久化数据库?

试试这个, SQLiteConnection.CreateFilec:\mydatabasefile.db3

如果所有这些都失败了,下面是命令行的内容

sqlite3 test.db sqlite>创建表cars id INTEGER主键自动递增,模型文本,年份整数; sqlite>插入汽车模型,年份值“福特350”,2007年; sqlite>插入车型,年份值“别克云雀”,1953年; sqlite>插入汽车模型,年份值“本田思域”,2002年; sqlite>从汽车中选择*; 1 |福特350 | 2007 2 |别克云雀| 1953 3 |本田思域| 2002 sqlite>.quit


假设使用c-sqlite

当您使用适当的API创建连接时,您实际上会传入要用作参数的文件名。如果该文件不存在,则默认情况下会创建该文件。例如

new SQLiteDatabase("c:\\foo.db")

当然,因为您需要转义反斜杠,这是因为它是一个字符串。事先创建文件不起作用,因为生成的文件不是sqlite数据库,因此不可用。因此,我假设您在这种情况下遇到错误。

您不需要调用SQLiteConnection.CreateFile方法

假设您正在打开这样的连接:

using (var connection = new SQLiteConnection("Data Source=C:\\database.db"))
{
    // foo
}

它将尝试打开数据库文件C:\\database.db(如果它存在),如果它不存在,它将被创建。

作者正在询问如何使用库在代码中执行此操作,而不是从命令行util执行此操作。您的意思是什么?SQLiteConnection.CreateFilec:\\mydatabasefile.db3;是的!像这样。更新您刚才评论的答案,我将我会接受的。这就是我需要的。谢谢。我完全错过了SQLiteConnection对象中的静态方法。我需要使用一个基于ADO.NET库的方法。这就是我使用System.Data.SQLite的原因。