我有以下代码:

        dbcon = DependencyService.Get<ISQLite>().GetConnection();

        // create the tables
        dbcon.CreateTable<Category>();
        dbcon.CreateTable<Settings>();

        var settings = dbcon.Table<Settings>().ToList();
        if (settings.Count <= 0)
        {
            var noa = new Settings { Setting = "NumberOfAnswers", Value = 5 };
            var cfs = new Settings { Setting = "CardFrontSide", Value = 0 };
            dbcon.Insert(noa);
            dbcon.Insert(cfs);
        }

        var categories = dbcon.Table<Category>().ToList();
        if (categories.Count <= 0)
        {
            InsertCategory();
        }

从我可以看到的应用程序正在使用 SQLite-net

我想知道的是,是否有一种方法可以检查表是否存在,而不是尝试创建它,然后尝试检查它是否有行。

最佳答案

此查询将返回数据库中的表列表

SELECT * FROM sqlite_master WHERE type = 'table';

您可以将其过滤为单行以进行“存在”检查。
SELECT * FROM sqlite_master WHERE type = 'table' AND tbl_name = 'xyz';

10-08 17:36