void loadData(Com com) { try { DataTable testDevices = TableCenter.getDeviceTable(); DataTable testRecords = TableCenter.getTestTable(); DataTable tripDevices = TableCenter.getDeviceTable(); DataTable tripRecords = TableCenter.getTripTable(); //获取记录条数 byte[] snd = new byte[] { 1, 3, 0, 0, 0, 1 }; byte[] rcv; rcv = com.Execute(snd); int testCount = rcv[1]; snd[2] = 0x60; rcv = com.Execute(snd); int tripCount = rcv[1]; //总通信次数: int total = 2 + testCount * (14 + 1) + tripCount * (10 + 1); //*1.05,保存数据至数据库需花费时间 total = (int)(total * 1.05); int index = 2; Update(this, new ComsEventArgs(100, index * 100 / total)); //read test device info for (int i = 0; i < testCount; i++) { int start = 0x10 + 0x10 * i; snd[2] = (byte)(start / 256); snd[3] = (byte)(start % 256); snd[5] = 0x0d; rcv = com.Execute(snd); DataRow deviceRow = testDevices.NewRow(); TableCenter.genDeviceRow(ref deviceRow, rcv); testDevices.Rows.Add(deviceRow); index++; Update(this, new ComsEventArgs(100, index * 100 / total)); //read test detail record for (int j = 0; j < Tools.TestTypes.Length; j++) { start = 0x1000 + 0x0800 * i + 0x09 * j; snd[2] = (byte)(start / 256); snd[3] = (byte)(start % 256); snd[5] = 0x09; rcv = com.Execute(snd); if (rcv[1] != 0 && rcv[0] != 0xff) { DataRow testRow = testRecords.NewRow(); TableCenter.genTestRow(ref testRow, deviceRow["ProductNumber"].ToString(), Tools.TestTypes[j], rcv); testRecords.Rows.Add(testRow); } index++; Update(this, new ComsEventArgs(100, index * 100 / total)); } } //read trip device info for (int i = 0; i < tripCount; i++) { int start = 0x6010 + 0x10 * i; snd[2] = (byte)(start / 256); snd[3] = (byte)(start % 256); snd[5] = 0x0d; rcv = com.Execute(snd); DataRow deviceRow = tripDevices.NewRow(); TableCenter.genDeviceRow(ref deviceRow, rcv); tripDevices.Rows.Add(deviceRow); index++; Update(this, new ComsEventArgs(100, index * 100 / total)); //read trip detail record for (int j = 0; j < 10; j++) { start = 0x7100 + 0x0100 * i + 0x0d * j; snd[2] = (byte)(start / 256); snd[3] = (byte)(start % 256); snd[5] = 0x0d; rcv = com.Execute(snd); if (rcv[0] == 0xff) { index += 10 - j; Update(this, new ComsEventArgs(100, index * 100 / total)); break; } else { DataRow tripRow = tripRecords.NewRow(); TableCenter.genTripRow(ref tripRow, deviceRow["ProductNumber"].ToString(), rcv); tripRecords.Rows.Add(tripRow); index++; Update(this, new ComsEventArgs(100, index * 100 / total)); } } } DataAccess.UpdateTable(testDevices, "TestDevices"); DataAccess.UpdateTable(testRecords, "TestRecords"); DataAccess.UpdateTable(tripDevices, "TripDevices"); DataAccess.UpdateTable(tripRecords, "TripRecords"); Update(this, new ComsEventArgs(100, 100, ComState.SUCCESSED)); } catch (Exception exp) { Update(this, new ComsEventArgs(100, 100, ComState.FAILED)); } }
public static DataTable ReadTable() { //string conString = "Data Source=Trips;Version=3;"; SQLiteConnection conn = new SQLiteConnection(conString); SQLiteConnection con = null; SQLiteCommand command = null; SQLiteDataAdapter da = null; DataTable dt = new DataTable(); try { string sql = string.Format("select * from Trips"); command = new SQLiteCommand(sql, conn); da = new SQLiteDataAdapter(command); da.Fill(dt); } catch { } finally { if (da != null) { da.Dispose(); } if (command != null) { command.Dispose(); } if (con != null) { con.Close(); } } DataTable newTable = TableCenter.getTestTable(); for (int i = 0; i < dt.Rows.Count; i++) { DataRow row = newTable.NewRow(); row["ProductNumber"] = dt.Rows[i]["ProductNumber"]; row["Item"] = dt.Rows[i]["Item"]; row["Time"] = dt.Rows[i]["Time"]; row["Result"] = dt.Rows[i]["Result"]; row["Type"] = dt.Rows[i]["Type"]; row["Ir"] = dt.Rows[i]["Ir"]; row["Tr"] = dt.Rows[i]["Tr"]; row["I"] = dt.Rows[i]["I"]; row["T"] = dt.Rows[i]["T"]; //if (i >= 3 && i < dt.Rows.Count - 1) //{ // continue; //} //row["DeviceCode"] = "DW45"; //row["FactoryCode"] = "Shihlin Electric"; //row["ProductNumber"] = dt.Rows[i]["ProductNumber"]; //row["ProductDate"] = dt.Rows[i]["ProductDate"]; //row["ProductNumber"] = dt.Rows[i]["ProductNumber"]; //row["BreakType"] = "XSIC-P3G1"; //row["Inm"] = dt.Rows[i]["Inm"]; //row["In"] = dt.Rows[i]["In"]; //row["Imcr"] = dt.Rows[i]["Imcr"]; //row["Version"] = dt.Rows[i]["Version"]; //row["ControllerType"] = dt.Rows[i]["ControllerType"]; //row["Fn"] = dt.Rows[i]["Fn"]; //row["SaveTime"] = DateTime.Now; //if (dt.Rows[i]["Inm"].ToString() == "1") //{ // row["Inm"] = "2000"; //} newTable.Rows.Add(row); } return(newTable); }