数据读写逻辑修改

This commit is contained in:
sc committed 2025-08-25 00:23:34 +08:00
commit fb1b024944
6 files changed
+40 -55

No files matched your search

+4 -26
View File
@@ -49,7 +49,6 @@ namespace DyeingComputer.UserClass
{
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
DataTable data_t = WorkOrderStep_.Clone();
int a = WorkOrderStep_.Rows.Count;
if (a < 1)
{
@@ -64,12 +63,8 @@ namespace DyeingComputer.UserClass
return false;
}
for (int i = 0; i < a; i++)
{
data_t.Clear();//清空
DataRow dr = data_t.NewRow();
dr.ItemArray = WorkOrderStep_.Rows[i].ItemArray;
data_t.Rows.InsertAt(dr, 0);
SQLiteHelpers.InsertData("WorkorderSteps", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
{
SQLiteHelpers.InsertData("WorkorderSteps", SQLiteHelpers.ToDictionary(WorkOrderStep_.Rows[i]));//行插入
}
SQLiteHelpers.Close(); //关闭连接
return true;
@@ -86,22 +81,10 @@ namespace DyeingComputer.UserClass
MainWindowViewModel.ProgramName = SQLiteHelpers.ExecuteScalar("select ProgramName from Workorder where ProgramID = '" + workName + "'", null).ToString();
SQLiteHelpers.Delete("RUN", null, null); //删除run信息
DataTable data_t = new DataTable();
data_t = MainWindowViewModel.dt_TP.Clone();
data_t.Columns.Add("DYELOT", typeof(string)); //添加列
int a = MainWindowViewModel.dt_TP.Rows.Count;
for (int i = 0; i < a; i++)
{
data_t.Clear();//清空
DataRow dt = MainWindowViewModel.dt_TP.Rows[i];//行转
DataRow dr = data_t.NewRow();
dr.ItemArray = dt.ItemArray;
dr.BeginEdit(); //添加订单号
dr["DYELOT"] = MainWindowViewModel.WorkNumder;
dr.EndEdit();
data_t.Rows.InsertAt(dr, 0); //行转换
r = SQLiteHelpers.InsertData("RUN", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
SQLiteHelpers.InsertData("RUN", SQLiteHelpers.ToDictionary(MainWindowViewModel.dt_TP.Rows[i]));//行插入
}
//数据插入
MainWindowViewModel.WorkNumder = SQLiteHelpers.ExecuteDataSet("select WorkOrder from Workorder where ProgramID = '" + workName + "'", null);;
@@ -141,7 +124,6 @@ namespace DyeingComputer.UserClass
}
DyelotTable.Rows.Add(newRow);
}
DataTable data_t = DyelotTable.Clone();
int a = DyelotTable.Rows.Count;
if (a < 1) return false;
string Dyelot = DyelotTable.Rows[0][0].ToString();
@@ -155,11 +137,7 @@ namespace DyeingComputer.UserClass
}
for (int i = 0; i < a; i++)
{
data_t.Clear();//清空
DataRow dr = data_t.NewRow();
dr.ItemArray = DyelotTable.Rows[i].ItemArray;
data_t.Rows.InsertAt(dr, 0);
SQLiteHelpers.InsertData("Dyelot", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
SQLiteHelpers.InsertData("Dyelot", SQLiteHelpers.ToDictionary(DyelotTable.Rows[i]));//行插入
}
SQLiteHelpers.Close(); //关闭连接
return true;
+17
View File
@@ -680,6 +680,23 @@ namespace DyeingComputer.UserClass
return result;
}
/// <summary>
/// 将DataRow转换为Dictionary&lt;string, object&gt;
/// </summary>
/// <param name="row">DataRow实例</param>
/// <returns>键为列名、值为对应数据的字典</returns>
public Dictionary<string, object> ToDictionary(DataRow row)
{
var dictionary = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
if (row == null) return dictionary;
foreach (DataColumn column in row.Table.Columns)
{
object value = row[column] == DBNull.Value ? null : row[column];
dictionary[column.ColumnName] = value;
}
return dictionary;
}
}
#endregion
}