如何在 Xamarin 窗体中使用 SQLite 更新数据库中的项



我正在尝试更新应用程序上的用户信息。

我可以在我的数据库中添加一个用户,但是当我尝试更新其信息时,它不起作用。

以下是更改信息的函数:

public void ChangerLanguageValue(string language)
{
var myuser = userinfodatabase.GetUsers();
myuser.NewsLanguage = language;     
userinfodatabase.UpdateUserInfos(myuser); // this does not work
}

这是我的数据库配置:

class UserInfosDatabase
{
private SQLiteConnection conn;
public UserInfosDatabase()
{
conn = DependencyService.Get<ISQLite>().GetConnection();
conn.CreateTable<MyUser>();
}
public string AddUser(MyUser localuser)
{
conn.Insert(localuser);
return "success";
}
public MyUser GetUsers()
{
var users = (from u in conn.Table<MyUser>() select u);
return users.ToList().FirstOrDefault();
}
//Update
public string UpdateUserInfos(MyUser localuser)
{
conn.Update(localuser);
return "succes";
}
}

对于 Xamarin.Forms 中的 SQLite,我们可以使用插件 sqlite-net-pcl 。

它具有非常简单的方法,用于安全地执行 CRUD 操作和查询(使用参数(,并以强类型方式检索这些查询的结果。

在您的情况下,您最好将数据更新为async

public Task <string>UpdateUserInfos(MyUser localuser) 
{ 
conn.UpdateAsync(localuser); 
return "success"; 
}

最新更新