我正在尝试在树莓派上创建一个数据库,UWP可将其用于读取和写入。但我总是收到错误“ SQLite错误14:无法打开数据库文件”,而且我似乎无法修复它。我曾尝试寻找修复程序,但似乎一切都适合sqlite.net框架,因为我正在使用Microsoft.data.sqlite框架。我曾尝试使用sqlite.net框架,但找不到所有方法的文档。
using (SqliteConnection db =
new SqliteConnection("Filename = sqliteSPSystem.db"))
//"Filename=sqliteSPSystem.db"
{
db.Open();
String tableCommand = "CREATE TABLE IF NOT " +
"EXISTS ParkingData (Primary_Key INTEGER PRIMARY KEY, " +
"TimeIN NVARCHAR(2048) NULL,TimeOUT NVARCHAR(2048) NULL)";
SqliteCommand createTable = new SqliteCommand(tableCommand, db);
createTable.ExecuteReader();
}
克服这个问题真的很不错,因为我现在已经挣扎了大约2周,而且它已经变老了。
答案 0 :(得分:0)
您需要检查数据库文件是否存在于文件夹中,如果不存在,则可以如下创建数据库文件。
public async static void InitializeDatabase()
{
await ApplicationData.Current.LocalFolder.CreateFileAsync("sqliteSPSystem.db", CreationCollisionOption.OpenIfExists);
string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sqliteSPSystem.db");
using (SqliteConnection db =
new SqliteConnection($"Filename={dbpath}"))
{
db.Open();
String tableCommand = "CREATE TABLE IF NOT " +
"EXISTS ParkingData (Primary_Key INTEGER PRIMARY KEY, " +
"TimeIN NVARCHAR(2048) NULL,TimeOUT NVARCHAR(2048) NULL)";
SqliteCommand createTable = new SqliteCommand(tableCommand, db);
createTable.ExecuteReader();
}
}
答案 1 :(得分:0)
再次感谢。这行得通,我最终可以继续进行该项目