我有一个数据库创建工具,我从头开始创建数据库。这与提到Here的方式相同。它创建了一个临时数据库,我可以向其添加数据。
当我关闭数据库时,它会被删除,这是预期的行为,但我不希望它被删除。
我在System.Data.SQLite中找不到Save或Create方法,而使用System.IO.File.Create(myDBFilename);
创建一个方法会创建一个SQLite无法连接的文件。
如何从头开始在代码中创建和保存数据库?
答案 0 :(得分:8)
试试这个, SQLiteConnection.CreateFile( “C:\ mydatabasefile.db3”);
如果所有其他方法都失败了,这里也是命令行的东西
sqlite3 test.db
sqlite> CREATE TABLE cars(id INTEGER PRIMARY KEY AUTOINCREMENT,模型文本,年整数);
sqlite>插入汽车(型号,年份)值(“Ford 350”,2007);
sqlite>插入汽车(模型,年份)值(“Buick Skylark”,1953);
sqlite>插入汽车(型号,年份)值(“Honda Civic”,2002);
sqlite>从汽车中选择*; 1 |福特350 | 2007
2 | Buick Skylark | 1953年 3 | Honda Civic | 2002
源码> .quit
答案 1 :(得分:7)
您无需调用SQLiteConnection.CreateFile
方法。
假设您正在打开这样的连接:
using (var connection = new SQLiteConnection("Data Source=C:\\database.db"))
{
// foo
}
如果数据库文件存在,它将尝试打开数据库文件C:\\database.db
,如果它不存在,则会创建它。
答案 2 :(得分:1)
假设使用c#-sqlite,
当您使用适当的API创建连接时,实际上会传入要用作参数的文件名。如果该文件不存在,则创建它(默认情况下)。 e.g。
new SQLiteDatabase("c:\\foo.db")
当然,因为你需要逃避反斜杠(这是因为它是一个字符串)。事先创建文件不起作用,因为生成的文件不是sqlite数据库,因此不可用(因此,我假设你在这种情况下遇到错误)。