Команда вставки SQLite не работает - PullRequest
0 голосов
/ 07 апреля 2020

Я не понимаю, почему этот оператор вставки не работает. Отладка работает нормально и возвращает «true». Когда я тестирую его в SQLite Studio, он тоже работает. (Идентификатор является целым числом и автоматически увеличивается.) Ошибок нет.

public bool InsertInDB(string tForm, string tLang, string tKey, string tValue)
        {
            SqliteCommand cmd;
            cmd = conn.CreateCommand();
            try
            {
                if (string.IsNullOrEmpty(tForm)) { throw new NullReferenceException("Missing: tForm"); }
                if (string.IsNullOrEmpty(tLang)) { throw new NullReferenceException("Missing: tLang"); }
                string[] temp = tLang.Split('-');
                if (temp.Length != 2) { throw new Exception("The language description is wrong. Form \"xx-xx\", ex.: \"en-US\""); }
                if (string.IsNullOrEmpty(tKey)) { throw new NullReferenceException("Missing: tKey"); }
                if (string.IsNullOrEmpty(tValue)) { throw new NullReferenceException("Missing: tValue"); }

                cmd.Parameters.AddWithValue("@tForm", tForm);
                cmd.Parameters.AddWithValue("@tLang", tLang);
                cmd.Parameters.AddWithValue("@tKey", tKey);
                cmd.Parameters.AddWithValue("@tValue", tValue);
                cmd.CommandText = "INSERT INTO Translate (Form, Lang, Key, Value) VALUES (@tForm, @tLang, @tKey, @tValue)";
                if (conn.State == System.Data.ConnectionState.Closed) { conn.Open(); }
                var result = cmd.ExecuteNonQuery();
                return (result > 0);
            }
            catch (SqliteException ex)
            {
                HandleException(ex, "InsertInDB");
            }
            catch (Exception ex)
            {
                HandleException(ex, "InsertInDB");
            }
            finally
            {
                if (conn.State == System.Data.ConnectionState.Open) { conn.Close(); }
            }
            return false;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...