在一个UWP中使用SQLite-PCL检查表是否存在

本文关键字:SQLite-PCL 检查表 存在 是否 UWP 一个 | 更新日期: 2023-09-27 18:14:26

我被如何检查表是否已经存在所困扰。我一直在寻找,但像以前很多次一样,我找不到好的例子。

我在SQLite上找到的那些不与PCL版本一起工作。我不明白为什么,所以如果有人有好的网站可以去,请随时添加它们。

这些是我用过的:

    http://blogs.u2u.be/diederik/post/2015/09/08/Using-SQLite-on-the-Universal-Windows-Platform.aspx
  • https://code.msdn.microsoft.com/windowsapps/Implement-SQLite-Local-8b13a307内容

这是我的代码,显示我如何尝试检查它,但它只检查路径,它总是存在的。我仔细想想,这不是一个明智的解决方案。

private void LikeItButton_Click(object sender, RoutedEventArgs e)
        {
            var sqlpath = System.IO.Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Filmdb.sqlite");
            using (SQLite.Net.SQLiteConnection conn =
                new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), sqlpath))
            {
                if (File.Exists(sqlpath))
                {
                    AdMovieID();
                }
                else
                {
                    conn.CreateTable<MovieID>();
                    AdMovieID();
                }
            }
        }

在一个UWP中使用SQLite-PCL检查表是否存在

可以执行如下查询:

SELECT name FROM sqlite_master WHERE type='table' AND name='MovieId';
通过

var tableExistsQuery = "SELECT name FROM sqlite_master WHERE type='table' AND name='MovieId';"
var result = conn.ExecuteScalar<string>(tableExistsQuery);