我正在UWP制作一个movieApp,如果用户喜欢这部电影,我想存储一部电影中的id。我尝试过使用txt,但是对于访问被拒绝错误有很多问题。所以我决定使用sqlite insteed。
我用它来得到星球: https://code.msdn.microsoft.com/windowsapps/Implement-SQLite-Local-8b13a307#content
我一直在寻找一段时间,我发现所有信息都与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; }
}
答案 0 :(得分:1)
您不会在我的代码中的任何位置插入新项目。
看看这个简单的代码示例:
using (var connection = new SQLiteConnection(path))
{
connection.CreateTable<MovieID>();
connection.Insert(new MovieID { ID = "someId" });
var movies = connection.Table<MovieID>().ToList();
}
如果你最后检查movies
它应该有一个项目,一个带有“someId”ID的MovieId对象。