Исключение SQLite в .net MAUI: такой таблицы нет: соответствуетC#

Место общения программистов C#
Anonymous
Исключение SQLite в .net MAUI: такой таблицы нет: соответствует

Сообщение Anonymous »

Я пытаюсь создать счетчик для карточной игры и пытаюсь сохранить «Матчи» с очками в базе данных. Я установил пакет nuget sqlite-net-pcl и получаю сообщение об ошибке:

"нет такой таблицы", хотя я создайте таблицу с помощью команды CreateTable.

Пользовательский класс БД:

Код: Выделить всё

using SQLite;

namespace Tichu_Counter
{
public class DBManager
{
private const string db_name = "tichu_counter_db.db3";
static SQLiteAsyncConnection dbconnection;

public DBManager()
{
}

static async Task Init()
{
if (dbconnection != null)
return;
dbconnection = new SQLiteAsyncConnection(Path.Combine(FileSystem.AppDataDirectory, db_name));
await dbconnection.CreateTableAsync();
}
public async Task GetMatches()
{
await Init();
return await dbconnection.Table().ToListAsync();
}

public async Task  AddMatch(Match match)
{
await Init();
await dbconnection.InsertAsync(match);
}
public async Task UpdateMatch(Match match)
{
await Init();
await dbconnection.UpdateAsync(match);
}
public async Task DeleteMatch(Match match)
{
await Init();
await dbconnection.DeleteAsync(match);
}
}
}
Здесь я его использую

Код: Выделить всё

        public MainPage()
{
dbManager = new DBManager();
InitializeComponent();
CreateMatch(); //Calling AddMatch()
Load_Matches(); //Calling GetMatches()
selectedindex = 0;
}
Это свойства

Код: Выделить всё

namespace Tichu_Counter
{
[Table("matches")]
public class Match
{
[PrimaryKey,AutoIncrement]
[Column("Match_ID")]
public int match_ID { get; set; }

[Column("Name_A")]
public String name_A { get; set; }

[Column("Name_B")]
public String name_B { get; set; }

[Column("Score_A")]
public int score_A { get; set; }

[Column("Score_B")]
public int score_B { get; set; }

[Column("Rounds_A")]
public String rounds_a { get; set; }

[Column("Rounds_B")]
public String rounds_b { get; set; }

[Column("Selected")]
public bool selected { get; set; }

[Column("Date")]
public string date { get; set; }
Я пробовал использовать соединение для синхронизации, но проблема все еще возникла.

Подробнее здесь: https://stackoverflow.com/questions/782 ... le-matches

Вернуться в «C#»