You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C# WPF无法将数据保存至SQLite数据库的问题求助

排查SQLite数据写入无报错但表为空的问题

针对你遇到的WPF应用中SQLite数据写入无报错、表名错误会触发提示,但数据库表始终为空的问题,可按以下步骤排查:

1. 确认操作的数据库文件是否正确

|DataDirectory|在Visual Studio调试运行时指向项目的bin/Debug或bin/Release目录,你可能误打开了项目根目录下的空数据库文件。

  • 在代码中添加实际路径输出,验证程序操作的数据库位置:
string connectionString = (string)Application.Current.Resources["SQLiteConnection"];
string actualDbPath = connectionString.Replace("|DataDirectory|", AppDomain.CurrentDomain.BaseDirectory);
Console.WriteLine("程序操作的数据库路径:" + actualDbPath);
  • 复制输出的路径,找到对应数据库文件后用DB Browser打开,查看数据是否存在。

2. 验证数据是否真的被插入

添加执行结果输出,确认ExecuteNonQuery()是否成功影响了行:

int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine("插入操作影响行数:" + rowsAffected);

如果输出为0,说明插入逻辑未生效;如果为1,则数据已写入,问题出在你查看的数据库文件不对。

3. 检查数据库文件是否被自动覆盖

如果项目中添加了Sanganak.db文件,且其属性设置为复制到输出目录 = 始终复制,每次运行程序时,项目根目录的空数据库会覆盖bin目录下的数据库,导致之前写入的数据丢失。

  • 右键项目中的Sanganak.db文件 → 属性 → 把“复制到输出目录”改为如果较新则复制或不复制。

4. 补全异常信息排查隐藏错误

当前catch块仅输出Exception.Message,可能遗漏了内部异常细节,修改为:

catch (Exception ex)
{
    Console.WriteLine("错误信息:" + ex.Message);
    if (ex.InnerException != null)
    {
        Console.WriteLine("内部错误:" + ex.InnerException.Message);
    }
}

运行程序后查看完整错误信息,排查潜在问题。

5. 显式使用事务确保提交

虽然SQLite默认自动提交,但显式开启事务可避免隐式事务导致的提交失败:

using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
    connection.Open();
    using (var transaction = connection.BeginTransaction())
    {
        string sql = "INSERT INTO Disclaimer (DisName, DisDateTime) VALUES (@DisName, @DisDateTime)";
        using (SQLiteCommand command = new SQLiteCommand(sql, connection, transaction))
        {
            command.Parameters.AddWithValue("@DisName", systemName);
            command.Parameters.AddWithValue("@DisDateTime", currentDateAndTime.ToString("yyyy-MM-dd HH:mm:ss"));
            int rowsAffected = command.ExecuteNonQuery();
            Console.WriteLine("影响行数:" + rowsAffected);
        }
        transaction.Commit();
    }
}

内容的提问来源于stack exchange,提问作者Athang Tikekar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:57:38