Как обновить строку в sqlite.net pcl в windows 10 C#?
У меня есть ID строки, тогда я обновлю другие значения.
Я не знаю, как обновить свои ценности! Мой Стол:
class MyTable
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Date { get; set; }
public string Volumes { get; set; }
public string Price { get; set; }
}
прочая информация:
string path;
SQLite.Net.SQLiteConnection conn;
public updatepage()
{
this.InitializeComponent();
path = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "ccdb.sqlite");
conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), path);
conn.CreateTable<MyTable>();
}
2 ответов
недавно я начал работать с приложениями UWP, а также столкнулся с этой проблемой. Итак, как обновить строку с помощью SQLite в UWP вы спрашиваете? Держи!
using (var dbConn = new SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), App.DB_PATH))
{
var existingUser = dbConn.Query<User>("select * from User where Id = ?", user.Id).FirstOrDefault();
if (existingUser != null)
{
existingUser.Name = user.Name;
existingUser.Email = user.Email;
existingUser.Username = user.Username;
existingUser.Surname = user.Surname;
existingUser.EmployeeNumber = user.EmployeeNumber;
existingUser.Password = user.Password;
dbConn.RunInTransaction(() =>
{
dbConn.Update(existingUser);
});
}
}
Приложение.DB_PATH совпадает с переменной 'PATH'. Я понимаю, что в этом ответе есть много разных областей, поэтому, если у вас есть еще какие-либо вопросы, не стесняйтесь задавать.
чтобы обновить только определенный набор значений в строке, тогда выполнение необработанного SQL-запроса было бы проще:
conn.Execute("UPDATE MyTable SET Price = ? Where Id = ?", 1000000, 2);
предполагается, что входные данные, передаваемые оператору execute, были очищены.