Files
ctbjrj/tools/复现直写.cs

62 lines
2.6 KiB
C#

// 直写批复现:用与 直写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<string[]>
{
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);
}
}
}