用SQLite PCL插入新行

本文关键字:新行 插入 PCL SQLite | 更新日期: 2023-09-27 18:14:06

我正在制作UWP中的movieApp,我想从电影中存储一个id,如果用户喜欢这部电影。我已经尝试过txt,但有很多问题与拒绝访问错误。所以我决定用sqlite代替。

我用这个来获得标准:https://code.msdn.microsoft.com/windowsapps/Implement-SQLite-Local-8b13a307内容

我已经搜索了一段时间了,我发现所有的信息都不能与sqlite pcl一起工作。看起来我找到的例子中使用的许多方法并不存在。

所以似乎很少有例子在那里…也许你们可以用正确的方式推动我…

这是我目前为止的代码:

private void LikeIt()
{
    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();
        }

    }
}
private void AdMovieID()
{
    var sqlpath = System.IO.Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Filmdb.sqlite");
    SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), sqlpath);
    //This is where i have tried some of the things i have found
    // like this: 
    //SQLite.Net.SQLiteCommand insertSQL = 
    //new SQLite.Net.SQLiteCommand("INSERT INTO MovieID(ID) VALUES(?), conn)<-- error: dosent work no constructor that takes arguments;
    //insertSQL.Parameters.Add(MovieID.ID);
    //Just to test if something is saved
   var allaId = conn.Find<MovieID>(sqlpath).ID;//<-- just tried this and it dosent work either "Object reference not set to an instance of an object."
    foreach (var id in allaId)
    {
        Test.Text = id.ToString();
    }
}

在SQLite中使用的类:

 public class MovieID
    {
        public string ID { get; set; }
    }

用SQLite PCL插入新行

你没有在代码的任何地方插入一个新项目,从我可以看到。

看看这个简单的代码示例:

using (var connection = new SQLiteConnection(path)) 
{
    connection.CreateTable<MovieID>();
    connection.Insert(new MovieID { ID = "someId" });
    var movies = connection.Table<MovieID>().ToList();
}

如果你在最后检查movies,它应该有一个项目,一个MovieId对象与"someId" ID。