// 直写批复现:用与 直写Timer 完全相同的连接串/事务/UPDATE 序列,复现 SQL logic error using System; using System.Collections.Generic; class 复现直写 { [STAThread] static void Main() { string dbPath = @"C:\成套报价软件\sjk\bjb\项目20260908001.db"; string cs = "Data Source=" + dbPath + ";Version=3;Journal Mode=WAL;Synchronous=Normal;Pooling=True;"; var 批 = new List { new[]{"yj_1","1","报出系数","1.5"}, new[]{"yj_1","1","采购单价","1078.875"}, new[]{"yj_1","1","采购价","1078.875"}, new[]{"yj_1","1","报出单价","1078.875"}, new[]{"yj_1","1","报出价","1078.875"}, new[]{"xh_1","1","单台成本","1078.875"}, new[]{"xh_1","1","成本价","1078.875"}, new[]{"xh_1","1","单台报出","1078.875"}, new[]{"xh_1","1","报出价","1078.875"}, new[]{"xh_1","1","利润","0"}, new[]{"xh_1","1","利润率","0"}, new[]{"xh_1","1","毛利率","0"}, new[]{"advancedDataGridView9Table","1","箱柜数量","2"}, new[]{"advancedDataGridView9Table","1","单价","7552.13"}, new[]{"advancedDataGridView9Table","1","总价","7552.13"}, new[]{"advancedDataGridView9Table","1","成本总价","7552.13"}, new[]{"advancedDataGridView9Table","1","毛利","0"}, new[]{"advancedDataGridView9Table","1","毛利率","0"}, }; try { using (var conn = new System.Data.SQLite.SQLiteConnection(cs)) { conn.Open(); using (var tx = conn.BeginTransaction()) { foreach (var item in 批) { using (var cmd = new System.Data.SQLite.SQLiteCommand( "UPDATE \"" + item[0].Replace("\"", "") + "\" SET \"" + item[2].Replace("\"", "") + "\"=@v WHERE rowid=@r;", conn, tx)) { cmd.Parameters.AddWithValue("@v", item[3]); cmd.Parameters.AddWithValue("@r", long.Parse(item[1])); cmd.ExecuteNonQuery(); } } tx.Commit(); } } Console.WriteLine("全部 OK —— 未复现"); } catch (Exception ex) { Console.WriteLine("复现: " + ex.GetType().Name + " " + ex.Message); } } }