【问题标题】: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;
    }
}

【问题讨论】:

    标签: sqlite xamarin.forms xamarin.android cross-platform


    【解决方案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。使用模板时,有没有报错?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多