首页 > 解决方案 > SQLite C# / Insert 命令不向数据库中添加数据

问题描述

我在解决我的 SQLite 数据库问题时遇到了问题。

正如标题所说,我“只是”尝试使用 SQLite 将一些数据添加到数据库文件的特定表中 - 使用 Microsoft.Data.SQLite 包。

代码执行时没有任何错误,甚至 SQL 语句执行也会返回已更改的一行。但是,当我使用 db-browser 查看“插入”行时,根本不存在。这是执行的代码:

            SqliteConnectionStringBuilder _sqlconsb = new SqliteConnectionStringBuilder();
        _sqlconsb.DataSource = _SqliteDatabase;
        _sqlconsb.Mode = SqliteOpenMode.ReadWrite;
        SqliteConnection _sqlconn = new SqliteConnection(_sqlconsb.ConnectionString);
        _sqlconn.Open();

        SqliteCommand _sqlcmd = _sqlconn.CreateCommand();
        _sqlcmd.CommandText = @"INSERT INTO Mediatypes (Name, Type) VALUES ('Hurrey-1', 'i')";
        int _numInsert = _sqlcmd.ExecuteNonQuery();
        _sqlconn.Close();
        return _numInsert;

我创建了一个带有一些按钮的全新 WPF 应用程序,并在该新应用程序中执行了相同的代码。在那里它也可以毫无问题地执行,并且数据确实添加到了 db 文件中,我再次使用 db 浏览器检查了该文件。

我不知道,这个特定的代码在测试应用程序中添加了新的数据行,但在我的应用程序中没有完成它的工作。我也完全迷失了进一步调试这个问题,因为它执行时没有任何问题。

还有一点需要考虑,我的应用程序中有其他方法能够成功地将数据添加到数据库中的其他表中。所以我认为它不应该是数据库文件本身,也不是我的解决方案中的 MS.Data.SQLite 包。

我希望有任何人能够指出我正确的方向来调试和/或解决这个问题......!

标签: c#sqlitesql-insert

解决方案


推荐阅读