У меня проблема с запросами sqlite.Я разрабатываю систему тегов для некоторых видео.
Когда я вставляю видео в свою базу данных, все работает нормально, но когда дело доходит до тегов и video_tag_link, я могу добавить только один, а следующий заставляет мое приложение зависать.
Проблема не 'не приходят из запросов SQL.Я пробую их непосредственно в браузере БД, и они работают нормально.
Вот код, который я использую для вставки в базу данных:
try
{
if (dbConnection == null)
await InitDatabaseAsync();
if (dbConnection.State != System.Data.ConnectionState.Open)
await dbConnection.OpenAsync();
SQLiteCommand command = new SQLiteCommand(query, dbConnection);
await command.ExecuteNonQueryAsync();
onDataReturned?.Invoke(command.ExecuteReader());
dbConnection.Close();
}
catch (SQLiteException ex)
{
Console.WriteLine(ex);
dbConnection.Close();
}
Вот мой запрос на тег:
BEGIN TRANSACTION;
INSERT INTO tags (name) VALUES ('Test Tag');
INSERT INTO tag_video_link (video_id, tag_id) VALUES (2, (SELECT id FROM tags ORDER BY id DESC LIMIT 1));
COMMIT;
Я не знаю, как сработала моя генерация тестовых данных, которая вставляет 100 строк, но вставка 1 тега со ссылкой на видео не работает.
Не знаюне знаю, актуально ли это, но в onDataReturned нет вызова к базе данных.Он всегда закрывает соединение, прежде чем пытаться сделать еще один запрос.
Может ли кто-нибудь мне помочь?
PS: Извините, если я допустил орфографические ошибки или я не очень ясно, я нечасто говорю по-английски.