C# 如何在通用Windows应用程序中更新Sqlite中的列

C# 如何在通用Windows应用程序中更新Sqlite中的列,c#,sqlite,win-universal-app,windows-10-universal,C#,Sqlite,Win Universal App,Windows 10 Universal,当我试图更新我的Windows应用程序中的列时,我得到一个错误,我正在使用此查询。 字符串qu=更新注册\类集合numOfSeat=300; 等待MainPage.con.UpdateAsyncqu 如果你需要任何其他信息,请告诉我。 谢谢。我不确定您使用的是哪个sqlite版本。然后,如果只是根据错误信息,您应该为表指定PrimaryKey 例如,如下所示: public class Registration_class { [PrimaryKey, AutoIncrement]

当我试图更新我的Windows应用程序中的列时,我得到一个错误,我正在使用此查询。 字符串qu=更新注册\类集合numOfSeat=300; 等待MainPage.con.UpdateAsyncqu

如果你需要任何其他信息,请告诉我。
谢谢。

我不确定您使用的是哪个sqlite版本。然后,如果只是根据错误信息,您应该为表指定PrimaryKey

例如,如下所示:

public class Registration_class
{
    [PrimaryKey, AutoIncrement]
    public int Id {get;set;}
    public string name { get; set; }
    public int numOfSeat { get; set; }
    public string password { get; set; }
}
然后我会指出代码中另一个错误的地方。如果要直接执行sql语句,应使用db.ExecuteUPDATE Registration\u class SET numosite=300;方法,而不是更新方法


我的代码示例基于Diederik的博客:

您尝试更新没有主键的表。可以在不使用主键的情况下更新数据,例如使用rownum。然而,你可能只是省略了创建PK的部分,你应该考虑它。如果没有这个值,db引擎将无法区分特定的行,尽管您试图一次更新所有行。更多:公共类注册\u类{public string name{get;set;}公共字符串密码{get;set;}公共int numOfSeat{get;set;}}这是我在这里做错的表,可以告诉我如何修复它。