gpt4 book ai didi

c# - SQLite.Net SQLiteException 约束

转载 作者:行者123 更新时间:2023-11-30 23:05:02 25 4
gpt4 key购买 nike

我之前曾在这里查看过此错误,但结果对我不起作用。

我已经制作了一个登录表单,并且有一次运行良好。在我登录一次并重新启动应用程序并尝试登录后,我收到了错误消息。

功能:

public int SaveUser(User user)
{
lock (locker)
{
if (user.Id != 0)
{
database.Update(user);
return user.Id;
}

else
{
return database.Insert(user);
}
}
}

用户模型:

[Table("User")]
public class User
{
[PrimaryKey, AutoIncrement, NotNull]
public int Id { get; set; }
[Unique]
public string Username { get; set; }
public string Password { get; set; }
}

更新:我希望这是进一步帮助所需的详细信息。

02-27 14:13:15.806 I/MonoDroid(23447): 在 SQLite.PreparedSqlLiteInsertCommand.ExecuteNonQuery (System.Object[] source) [0x00121] in/Users/vagrant/git/src/SQLite。 CS:2668
02-27 14:13:15.806 I/MonoDroid(23447): 在 SQLite.SQLiteConnection.Insert (System.Object obj, System.String extra, System.Type objType) [0x000f4] in/Users/vagrant/git/src/SQLite.cs:1415
02-27 14:13:15.806 I/MonoDroid(23447): 在 SQLite.SQLiteConnection.Insert (System.Object obj) [0x00005] 在/Users/vagrant/git/src/SQLite.cs:1281
02-27 14:13:15.806 I/MonoDroid(23447):在 C:\Users\[name]\source\repos\KleynGroup\KleynGroup\中的 KleynGroup.Data.UserDatabaseController.SaveUser(KleynGroup.User 用户)[0x00038] KleynGroup\Data\UserDatabaseController.cs:48

如有错误请见谅。我是 Xamarin 的新手,仍在学习中。

希望大家帮帮我

最佳答案

根据错误消息,异常是由 Insert 引发的,因此我假设您正在尝试插入 User (User.Id 似乎是 0)。无论如何,由于它不是新用户名,而是现有用户名,因此由于 UsernameUNIQUE 约束,插入失败。

您必须确保在加载并保存用户时,它仍然具有正确的 ID,以防止出现异常。

关于c# - SQLite.Net SQLiteException 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49009377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com