private void Button_Click(object sender, RoutedEventArgs e) { for (int i = 0; i < mydata.Station_Info_List.Count; i++) { Running_Data_Struct mystruct = (Running_Data_Struct)mydata.Station_Info_List[i]; int[] a = mystruct.Get_IntData(); a[30] = a[30] + 1; a[31] = a[31] + 1; a[32] = a[32] + 1; a[33] = a[33] + 1; } }
private void Save_RunTimeValue_Tick(object sender, System.Timers.ElapsedEventArgs e) { string Table_Name = "runtimetable" + DateTime.Now.ToString("yyyyMMdd"); database_builder.Create_Table(Table_Name, runtime_create_sql_value_type); // 将所有的值插入进去 if (RunTime_Save_Table == null) { return; } if (AllValue_Table == null) { return; } if (RunTime_Save_Table.Rows.Count == 0) { return; } if (AllValue_Table.Rows.Count == 0) { return; } if (AllStation_Table == null) { return; } if (AllStation_Table.Rows.Count == 0) { return; } foreach (DataRow dr in RunTime_Save_Table.Rows) { string value_name = dr[0].ToString(); // 在变量表中找出值 DataRow[] valuerows = AllValue_Table.Select("Value_Name='" + value_name + "'"); DataRow valuerow = valuerows[0]; string value_type = valuerow[1].ToString(); int value_address = int.Parse(valuerow[3].ToString()); string return_value = ""; for (int i = 0; i < running_data.Station_Info_List.Count; i++) { Running_Data_Struct mystruct = (Running_Data_Struct)running_data.Station_Info_List[i]; if (mystruct.Get_Name() == valuerow[2].ToString()) { if (value_type == "Int") { int[] int_array = mystruct.Get_IntData(); return_value = int_array[value_address].ToString(); } if (value_type == "Bool") { bool[] bool_array = mystruct.Get_SwitchData(); return_value = bool_array[value_address].ToString(); } if (value_type == "String") { double[] double_array = mystruct.Get_DoubleData(); return_value = double_array[value_address].ToString(); } // 插入表中 string[] insert_cmd = new string[4]; insert_cmd[0] = DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString() + value_name; insert_cmd[1] = value_name; insert_cmd[2] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); insert_cmd[3] = return_value; database_builder.Insert(Table_Name, insert_cmd); // 插入到列表中 foreach (object mydatatable in MyChart.All_Used_Running_Table) { DataTable mydt = (DataTable)mydatatable; if (mydt.TableName == Table_Name) { DataRow newdr = mydt.NewRow(); newdr[0] = DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString() + value_name; newdr[1] = value_name; newdr[2] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); newdr[3] = return_value; mydt.Rows.Add(newdr); } } break; } } } }