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

时间:2015-09-24 10:52:12

标签: c# sqlite uwp

我坚持如何检查表格是否存在。 在我找不到好的例子之前,我一直在寻找但很多次。

我在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#content

这是我的代码,我试图检查它,但他唯一检查的路径..存在alwasy存在..当我讨论它时不是一个聪明的解决方案:)。

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();
                }
            }
        }

1 个答案:

答案 0 :(得分:7)

您可以执行查询:

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);