检查db文件是不是存在?

Posted

技术标签:

【中文标题】检查db文件是不是存在?【英文标题】:check db file is exist or not?检查db文件是否存在? 【发布时间】:2021-07-22 14:52:48 【问题描述】:

我想创建一个共享模板,我想在其中检查 SQLite 数据库文件是否存在,如果该文件不存在,则在 xamarin 中创建一个新的数据库文件。

//我的功能

 public Task<CreateDatabase> DbConnection(string DbName, string DbPath)
    
        string dbname = DbName.ToLowerInvariant();


        string path = Path.Combine(DbPath, dbname);

        var database = new CreateDatabase(path);

        if (File.Exists(path) == false)
        
            
            var database = new CreateDatabase(path);
            

        
                    
        return null;
    

属性

 public class CreateDatabase

    public string databasePaths  get; 

    public CreateDatabase(string databasePath)
    
        databasePaths = databasePath;
    

【问题讨论】:

【参考方案1】:

如果数据库不存在,您可以使用Flags检查并创建数据库。

 public static class Constants


    public const SQLite.SQLiteOpenFlags Flags =
        // open the database in read/write mode
        SQLite.SQLiteOpenFlags.ReadWrite |
        // create the database if it doesn't exist
        SQLite.SQLiteOpenFlags.Create |
        // enable multi-threaded database access
        SQLite.SQLiteOpenFlags.SharedCache;      

然后在建立连接时设置Flags

Database = new SQLiteAsyncConnection(Constants.DatabasePath, Constants.Flags);

您可以从以下链接下载示例代码以供参考。 https://docs.microsoft.com/en-us/samples/xamarin/xamarin-forms-samples/todo/

【讨论】:

先生,我想在 crossplatform.plugin.template 中实现这个,而不是在 xamarin 模板中。 marketplace.visualstudio.com/… 似乎适用于 Visual Studio 2017。我使用最新版本的 Visual Studio 2019。使用模板时,有没有报错?

以上是关于检查db文件是不是存在?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 quick.db 中是不是存在特定的东西?

如何在执行 rake db:setup 之前检查数据库是不是存在于 Rails 中

检查 Berkeley DB C++ API 中是不是存在密钥 [关闭]

检查Java中的MySQL DB中是不是存在值?

JAVA:文件存在与搜索大型 xml db

检查访问数据库是不是存在表