Xamarin.forms应用程序在向SQLite数据库插入数据时崩溃

Xamarin.forms应用程序在向SQLite数据库插入数据时崩溃,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我试图获取用户在AddPage.Xaml.cs中输入的信息,并将其添加到SQLite数据库中。代码运行良好,直到我按下add按钮,然后崩溃,我真的不知道发生了什么,我也不知道我在做什么 下面是必要的代码及其对应的类 这在AddPage.xaml.cs中: private async Task AddButton_Clicked(object sender, EventArgs e) { App.characterDatabase.SaveCharacter(new Character()

我试图获取用户在AddPage.Xaml.cs中输入的信息,并将其添加到SQLite数据库中。代码运行良好,直到我按下add按钮,然后崩溃,我真的不知道发生了什么,我也不知道我在做什么

下面是必要的代码及其对应的类

这在AddPage.xaml.cs中:

private async Task AddButton_Clicked(object sender, EventArgs e)
{
    App.characterDatabase.SaveCharacter(new Character()
    {
        Name = NameTxt.Text,
        Species = SpeciesTxt.Text,
        ImageUrl = ImageUrlTxt.Text
    });
}
CharacterDatabaseController.cs

public class CharacterDatabaseController
{

    static object locker = new object();

    SQLiteConnection database;

    public CharacterDatabaseController()
    {
        database = DependencyService.Get<IDatabaseConnection>().DbConnection();
        database.CreateTable<Character>();
    }

    public Character GetCharacter()
    {
        lock (locker)
        {
            if (database.Table<Character>().Count() == 0)
            {
                return null;
            }
            else
            {
                return database.Table<Character>().First();
            }
        }
    }

    public int SaveCharacter(Character character)
    {
        lock (locker)
        {
            if (character.Id != 0)
            {
                database.Update(character);
                return character.Id;
            }
            else
            {
                return database.Insert(character);
            }
        }
    }

    public int DeleteCharacter(int id)
    {
        lock (locker)
        {
            return database.Delete<Character>(id);
        }
    }
}

使用调试器,或添加一些try/catch块,以识别导致崩溃的特定行以及异常是什么您得到的错误是什么?您需要提供更多信息,以便我们提供帮助。
public static CharacterDatabaseController characterDatabase
{
    get
    {
        if (characterDatabase == null)
        {
            CharacterDatabase = new CharacterDatabaseController();
        }
        return CharacterDatabase;
    }
}