private void RS232InputDataExecuteSp(string Input) { if (RS232SysAllData == null) { return; } RS232ModifySysDataTable("DATA", Input.Trim()); DataTable dt = RS232dtSp; dt.DefaultView.Sort = "WORK_TYPE_INDEX"; dt = dt.DefaultView.ToTable(); foreach (DataRow dr in dt.Rows) { RS232GetStoredprocValues(dr[1].ToString()); //Storedproc string[] LsRES = Pubstr.SP_PublicStoredprocParam(dr[1].ToString(), DataTableToDictionaryString(SPvalues)); foreach (string Sendmsg in LsRES) { if (Sendmsg.Substring(1, 3) == "RES") { SpRes = Sendmsg.Substring(5, Sendmsg.Length - 5); } else { SendRS232 = Sendmsg.Substring(9, Sendmsg.Length - 9); } } Msg = dr[11].ToString() + " " + SpRes; if (SpRes == "OK") { if (dr[8].ToString() == "1") //最后一枪清除资料 { ShowMessage(SpRes, RS232dtSp.Rows[0][11].ToString() + "?", SpRes); if (!string.IsNullOrEmpty(SendRS232)) { SendMsgToCom(SendRS232); } //for (int i = 0; i < SysAllData.Rows.Count; i++) //{ // if (SysAllData.Rows[i]["InRam"].ToString() != "1") // { // SysAllData.Rows[i]["data"] = "NA"; // } //} //DataTable dtRam = getNewTable(dtSp, string.Format("InRam='{0}'", "1")); //ExeSp = dtRam.Rows.Count; } //ModifySysDataTable(dr[11].ToString(), Input.Trim());//PARAM 更改值 } else { if (SpRes == null) { MessageBox.Show(" 执行存储过程 " + dr[1].ToString() + " 发生异常,请联系IT处理 \r\n "); return; } ShowMessage(SpRes, RS232dtSp.Rows[0][11].ToString() + "?", SpRes); if (!string.IsNullOrEmpty(SendRS232)) { SendMsgToCom(SendRS232); } return; } } }
private void InputDataExecuteSp(string Input) { ModifySysDataTable("DATA", Input.Trim()); DataTable dt = getNewTable(dtSp, string.Format("StoredprocIdx='{0}'", ExeSp)); dt.DefaultView.Sort = "WORK_TYPE_INDEX"; dt = dt.DefaultView.ToTable(); foreach (DataRow dr in dt.Rows) { GetStoredprocValues(dr[1].ToString()); //Storedproc // SpRes = Pubstr.SP_PublicStoredproc(dr[1].ToString(), SPvalues); string[] LsRES = Pubstr.SP_PublicStoredprocParam(dr[1].ToString(), DataTableToDictionaryString(SPvalues)); // string[] LsRES = Pubstr.ExecuteProcedure(dr[1].ToString(), SPvalues); foreach (string Sendmsg in LsRES) { if (Sendmsg.Substring(0, 3) == "RES") { SpRes = Sendmsg.Substring(4, Sendmsg.Length - 4); } else { SendRS232 = Sendmsg.Substring(8, Sendmsg.Length - 8); } } // SpRes = LsRES[0]; Msg = dr[11].ToString() + " " + SpRes; if (dr[8].ToString() == "1") //最后一枪清除资料 { RS232SysAllData = SysAllData; } if (SpRes == "OK") { if (dr[8].ToString() == "1") //最后一枪清除资料 { RS232SysAllData = SysAllData; for (int i = 0; i < SysAllData.Rows.Count; i++) { if (SysAllData.Rows[i]["InRam"].ToString() != "1") { SysAllData.Rows[i]["data"] = "NA"; } } DataTable dtRam = getNewTable(dtSp, string.Format("InRam='{0}'", "1")); ExeSp = dtRam.Rows.Count; } ModifySysDataTable(dr[11].ToString(), Input.Trim());//PARAM 更改值 } else { if (SpRes == null) { MessageBox.Show(" 执行存储过程 " + dr[1].ToString() + " 发生异常,请联系IT处理 \r\n "); return; } if (dr[6].ToString() == "1") //Fork 不为必刷则再执行一次 { ModifySysDataTable(dr[11].ToString(), "NA"); //PARAM ExeSp = Convert.ToInt32(dr[4].ToString()); //SECOND 报错时回到第几枪 InputDataExecuteSp(InputData); return; } ExeSp = Convert.ToInt32(dr[4].ToString()) - 1; //SECOND 报错时回到第几枪 return; } } // ExeSp++; }