我正在尝试在Windows 8.1 Modern UI应用程序中实现数据库。 我成功地为Windows Phone 8.1应用程序做了这个,但它在新的Windows 8.1应用程序中不起作用。
当我实现SQLiteException
时,我收到了Could not open database file: MyAppBase.db (CannotOpen)
消息SQLiteConnection
public static DatabaseHelper Instance
{
get
{
if (_instance == null)
{
_instance = new DatabaseHelper();
}
return _instance;
}
}
public DatabaseHelper()
{
_connection = new SQLiteConnection(DATABASE_NAME);
_connection.CreateTable<UserEntity>();
}
我按照以下步骤操作: 在项目引用上添加'sqlite-net'到Nuget引用,Checked'SQLite for Windows Runtime(Windows 8.1)'和'Microsoft Visual C ++ 2013 Runtime Package for Windows',Targetted build to x86。
我怎样才能使这个工作?
答案 0 :(得分:8)
SQLite需要一个创建数据库的路径而不仅仅是数据库名称
尝试这样的事情
string path = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, DATABASE_NAME);
_connection = new SQLite.SQLiteConnection(path)
希望这有帮助
答案 1 :(得分:0)
使用
QString databaseName = QFileDialog::getOpenFileName(this,tr("Open database"),
"",
tr("Databáze (*.db)"));
mydb = QSqlDatabase::addDatabase("QSQLITE");
mydb.setDatabaseName("databaseName");
if (!mydb.open()) {
ui->statusBar->showMessage("Databáze nebyla připojena!",2000);
databaseCheck = false;
}
else if (mydb.open()) {
ui->statusBar->showMessage("Databáze byla úspěšně připojena.",2000);
databaseCheck = true;
}