예제 #1
0
        public bool Guard_Validate(string guard_uid, string guard_data, int Num)
        {
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_GUARD_VALIDATE";

                guard_data = StringSplit(guard_data);
                //参数添加 terminal uid
                command_APHandler.Parameters.Add("@array", SqlDbType.VarChar, 900).Value = guard_data;

                //添加seperator
                command_APHandler.Parameters.Add("@seperator", SqlDbType.VarChar, 5).Value  = ",";
                command_APHandler.Parameters.Add("@guard_uid", SqlDbType.VarChar, 50).Value = guard_uid;
                command_APHandler.Parameters.Add("@totallength", SqlDbType.Int, 4).Value    = guard_data.Length;

                //执行
                int iRet = command_APHandler.ExecuteNonQuery();

                //返回值设置
                SqlParameter parReturn = new SqlParameter("@return", SqlDbType.Int);
                parReturn.Direction = ParameterDirection.ReturnValue;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(parReturn);

                //返回值
                if (iRet == 0 || iRet == -1)
                {
                    Log.write("Database " + identity.ToString() + " --Guard_Validate:NOT EFFECTIVE");
                    return(false);
                }

                if (parReturn.Value.Equals(Num))
                {
                    Log.write("Database " + identity.ToString() + " --Guard_Validate:TRUE");
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database " + identity.ToString() + " --Guard_Validate:OperationError-" + "Message: " + ex.Message);
                return(false);
            }
            catch (SqlException ex)
            {
                Log.write("Database " + identity.ToString() + " --Guard_Validate:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("Database " + identity.ToString() + " --Guard_Validate:Error-" + "Message: " + ex.Message);
                return(false);
            }
        }
예제 #2
0
 public bool Open(string ServerName, string account, string password, string database, int timeout = 5000)
 {
     try
     {
         sqlCnt.ConnectionString = "server=" + ServerName + ";user id=" + account + ";password="******";database=" + database + ";";
         sqlCnt.Open();
         if (ConnectionState.Open == sqlCnt.State)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (SqlException ex)
     {
         Log.write("DBOrderMonitor SqlException Error:" + ex.Message, 0);
         SqlExceptionHelper.Deal(ex);
         return(false);
     }
     catch (Exception ex)
     {
         Log.write("DBOrderMonitor---Open:ERROR-" + ex.Message, 0);
         return(false);
     }
 }
예제 #3
0
        public byte AP_Lot_Add(string Label, string LotNo)
        {
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_AP_LOT_ADD";
                bStored_Init = true;

                //参数添加
                command_APHandler.Parameters.Add("@label", SqlDbType.VarChar, 50).Value = Label;

                //参数添加
                command_APHandler.Parameters.Add("@LotNo", SqlDbType.VarChar, 50).Value = LotNo;

                //返回值设置
                SqlParameter parReturn = new SqlParameter("@return", SqlDbType.Int);
                parReturn.Direction = ParameterDirection.ReturnValue;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(parReturn);

                //执行
                command_APHandler.ExecuteNonQuery();

                //返回值
                byte ret = byte.Parse(parReturn.Value.ToString());

                if (parReturn.Value.Equals(1))
                {
                    Log.write("Database " + " --AP_Lot_Add:TRUE");
                    return(ret);
                }
                else
                {
                    Log.write("Database " + " --AP_Lot_Add:FALSE");
                    return(ret);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database " + " --AP_Lot_Add:OperationError-" + "Message: " + ex.Message, 0);
                return(5);
            }
            catch (SqlException ex)
            {
                Log.write("Database " + " --AP_Lot_Add:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(5);
            }
            catch (Exception ex)
            {
                Log.write("Database " + " --AP_Lot_Add:Error-" + "Message: " + ex.Message, 0);
                return(5);
            }
        }
예제 #4
0
        public bool AP_Validate(string uid, string channelNum)
        {
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_AP_VALIDATION";
                bStored_Init = true;

                //参数添加 ap uid
                command_APHandler.Parameters.Add("@uid", SqlDbType.VarChar, 50).Value = uid;

                //参数添加 ap 通道数
                command_APHandler.Parameters.Add("@apid", SqlDbType.VarChar, 3).Value = channelNum;

                //返回值设置
                SqlParameter parReturn = new SqlParameter("@return", SqlDbType.Int);
                parReturn.Direction = ParameterDirection.ReturnValue;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(parReturn);

                //执行
                command_APHandler.ExecuteNonQuery();

                //返回值
                if (parReturn.Value.Equals(1))
                {
                    Log.write("Database " + identity.ToString() + " --AP_Validate:TRUE");
                    return(true);
                }
                else
                {
                    Log.write("Database " + identity.ToString() + " --AP_Validate:FALSE");
                    return(false);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database " + identity.ToString() + " --AP_Validate:OperationError-" + "Message: " + ex.Message, 0);
                return(false);
            }
            catch (SqlException ex)
            {
                Log.write("Database " + identity.ToString() + " --AP_Validate:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("Database " + identity.ToString() + " --AP_Validate:Error-" + "Message: " + ex.Message, 0);
                return(false);
            }
        }
예제 #5
0
        public bool CmdLog(string cmdCode, string apuid, string receiveData)
        {
            if (cmd_enable != 1)
            {
                return(true);
            }
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_CMD_LOG";


                command_APHandler.Parameters.Add("@cmdCode", SqlDbType.VarChar, 20).Value = cmdCode;


                command_APHandler.Parameters.Add("@apuid", SqlDbType.VarChar, 50).Value        = apuid;
                command_APHandler.Parameters.Add("@receiveData", SqlDbType.VarChar, 500).Value = receiveData;

                //执行
                int iRet = command_APHandler.ExecuteNonQuery();

                //返回值
                if (iRet == 0 || iRet == -1)
                {
                    Log.write("DB_AlarmHandler " + identity.ToString() + " --CmdLog:NOT EFFECTIVE");
                    return(false);
                }

                Log.write("DB_AlarmHandler " + identity.ToString() + " --CmdLog:OK");
                return(true);
            }
            catch (InvalidOperationException ex)
            {
                Log.write("DB_AlarmHandler " + identity.ToString() + " --CmdLog:OperationError-" + "Message: " + ex.Message, 0);
                return(false);
            }
            catch (SqlException ex)
            {
                Log.write("DB_AlarmHandler " + identity.ToString() + " --CmdLog:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("DB_AlarmHandler " + identity.ToString() + " --CmdLog:Error-" + "Message: " + ex.Message, 0);
                return(false);
            }
        }
예제 #6
0
        public bool Open(string ServerName, string account, string password, string database, int timeout = 5)
        {
            try
            {
                string cntStr = "server=" + ServerName + ";user id=" + account + ";password="******";MultipleActiveResultSets=true;database=" + database + ";Connection Timeout=" + timeout.ToString() + ";";
                sqlCnt_APServerStatus.ConnectionString = cntStr;

                sqlCnt_APServerStatus.Open();

                sqlCnt_MngServerStatus.ConnectionString = cntStr;

                sqlCnt_MngServerStatus.Open();


                sqlCnt_VideoServerStatus.ConnectionString = cntStr;

                sqlCnt_VideoServerStatus.Open();

                Thread.Sleep(500);
                if (ConnectionState.Open == sqlCnt_APServerStatus.State)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database---Open:OperationError-" + "Message: " + ex.Message, 0);
                return(false);
            }
            catch (SqlException ex)
            {
                Log.write("Database---Open:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("Database---Open:Error-" + "Message: " + ex.Message, 0);
                return(false);
            }
        }
예제 #7
0
        public bool DB_Update_Cmd(int pk_id, int status)
        {
            try
            {
                //命令设置
                command_DBHandler             = sqlCnt_GetOrder.CreateCommand();
                command_DBHandler.CommandType = CommandType.StoredProcedure;
                command_DBHandler.CommandText = "P_CMD_RESPONSE";

                //参数添加 terminal uid
                command_DBHandler.Parameters.Add("@pk_id", SqlDbType.Int, 4).Value = pk_id;

                //添加receive data
                command_DBHandler.Parameters.Add("@receiveData", SqlDbType.Int, 4).Value = status;

                //执行
                int iRet = command_DBHandler.ExecuteNonQuery();
                //返回值
                if (iRet == 0 || iRet == -1)
                {
                    Log.write("Database---DB_Update_Cmd:FALSE");
                    return(false);
                }
                Log.write("Database---DB_Update_Cmd:TRUE");
                return(true);
            }
            catch (SqlException ex)
            {
                Log.write("Database SqlException DB_Update_Cmd:ERROR-" + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("Database---DB_Update_Cmd:ERROR-" + ex.Message, 0);
                return(false);
            }
        }
예제 #8
0
        public bool SetVideoFile(int pk_id, string videoPath, string videoFile1, string videoFile2, string videoFile3, string videoFile4)
        {
            lock (Locker)
            {
                try
                {
                    //命令设置
                    command_APHandler             = sqlCnt.CreateCommand();
                    command_APHandler.CommandType = CommandType.StoredProcedure;
                    command_APHandler.CommandText = "P_GUARD_VIDEO_FILE";

                    //参数添加 terminal uid
                    command_APHandler.Parameters.Add("@pk_id", SqlDbType.Int).Value = pk_id;

                    //添加参数
                    command_APHandler.Parameters.Add("@videoPath", SqlDbType.VarChar, 100).Value  = videoPath;
                    command_APHandler.Parameters.Add("@videoFile1", SqlDbType.VarChar, 100).Value = videoFile1;
                    command_APHandler.Parameters.Add("@videoFile2", SqlDbType.VarChar, 100).Value = videoFile2;
                    command_APHandler.Parameters.Add("@videoFile3", SqlDbType.VarChar, 100).Value = videoFile3;
                    command_APHandler.Parameters.Add("@videoFile4", SqlDbType.VarChar, 100).Value = videoFile4;

                    //返回值设置
                    SqlParameter parReturn = new SqlParameter("@return", SqlDbType.Int);
                    parReturn.Direction = ParameterDirection.ReturnValue;   //参数类型为ReturnValue
                    command_APHandler.Parameters.Add(parReturn);

                    //执行
                    int iRet = command_APHandler.ExecuteNonQuery();

                    //返回值
                    if (iRet == 0 || iRet == -1)
                    {
                        Log.write("DB_AlarmHandler " + identity.ToString() + " --SetVideoFile:NOT EFFECTIVE");
                        return(false);
                    }
                    int iRetNum = Convert.ToInt32(parReturn.Value.ToString());
                    if (iRetNum == 1)
                    {
                        Log.write("DB_AlarmHandler " + identity.ToString() + " --SetVideoFile:TRUE");
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                catch (InvalidOperationException ex)
                {
                    Log.write("DB_AlarmHandler " + identity.ToString() + " --SetVideoFile:OperationError-" + "Message: " + ex.Message, 0);
                    return(false);
                }
                catch (SqlException ex)
                {
                    Log.write("DB_AlarmHandler " + identity.ToString() + " --SetVideoFile:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                    SqlExceptionHelper.Deal(ex);
                    return(false);
                }
                catch (Exception ex)
                {
                    Log.write("DB_AlarmHandler " + identity.ToString() + " --SetVideoFile:Error-" + "Message: " + ex.Message, 0);
                    return(false);
                }
            }
        }
예제 #9
0
        public int Guard_Validate(string guard_uid, string guard_data, int Num, ref int index1, ref int index2, ref int index3, ref int pk_id)
        {
            lock (Locker)
            {
                try
                {
                    guard_data = StringSplit(guard_data, 0, Num * 16);
                    //命令设置
                    command_APHandler             = sqlCnt.CreateCommand();
                    command_APHandler.CommandType = CommandType.StoredProcedure;
                    command_APHandler.CommandText = "P_GUARD_VALIDATE";


                    //参数添加 terminal uid
                    command_APHandler.Parameters.Add("@array", SqlDbType.VarChar, 900).Value = guard_data;

                    //添加seperator
                    command_APHandler.Parameters.Add("@seperator", SqlDbType.VarChar, 5).Value  = ",";
                    command_APHandler.Parameters.Add("@guard_uid", SqlDbType.VarChar, 50).Value = guard_uid;
                    command_APHandler.Parameters.Add("@totallength", SqlDbType.Int, 4).Value    = guard_data.Length;

                    //Index1
                    SqlParameter cameraIndex1 = new SqlParameter("@cameraIndex1", SqlDbType.VarChar, 200);
                    cameraIndex1.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                    command_APHandler.Parameters.Add(cameraIndex1);

                    //Index2
                    SqlParameter cameraIndex2 = new SqlParameter("@cameraIndex2", SqlDbType.VarChar, 200);
                    cameraIndex2.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                    command_APHandler.Parameters.Add(cameraIndex2);

                    //Index3
                    SqlParameter cameraIndex3 = new SqlParameter("@cameraIndex3", SqlDbType.VarChar, 200);
                    cameraIndex3.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                    command_APHandler.Parameters.Add(cameraIndex3);

                    //pk_id
                    SqlParameter param_pk_id = new SqlParameter("@pk_id_ret", SqlDbType.Int);
                    param_pk_id.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                    command_APHandler.Parameters.Add(param_pk_id);

                    //返回值设置
                    SqlParameter parReturn = new SqlParameter("@return", SqlDbType.Int);
                    parReturn.Direction = ParameterDirection.ReturnValue;   //参数类型为ReturnValue
                    command_APHandler.Parameters.Add(parReturn);

                    //执行
                    int iRet = command_APHandler.ExecuteNonQuery();

                    index1 = Convert.ToInt32(cameraIndex1.Value.ToString());
                    index2 = Convert.ToInt32(cameraIndex2.Value.ToString());
                    index3 = Convert.ToInt32(cameraIndex3.Value.ToString());
                    pk_id  = Convert.ToInt32(param_pk_id.Value.ToString());
                    //返回值
                    if (iRet == 0 || iRet == -1)
                    {
                        Log.write("DB_AlarmHandler " + identity.ToString() + " --Guard_Validate:NOT EFFECTIVE", 1);
                        return(0);
                    }
                    int iRetNum = Convert.ToInt32(parReturn.Value.ToString());
                    if (iRetNum > 0)
                    {
                        Log.write("DB_AlarmHandler " + identity.ToString() + " --Guard_Validate:FALSE", 1);
                        return(iRetNum);
                    }
                    else
                    {
                        Log.write("DB_AlarmHandler " + identity.ToString() + " --Guard_Validate:TRUE", 1);
                        return(iRetNum);
                    }
                }
                catch (InvalidOperationException ex)
                {
                    Log.write("DB_AlarmHandler " + identity.ToString() + " --Guard_Validate:OperationError-" + "Message: " + ex.Message, 0);
                    return(-1);
                }
                catch (SqlException ex)
                {
                    Log.write("DB_AlarmHandler " + identity.ToString() + " --Guard_Validate:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                    SqlExceptionHelper.Deal(ex);
                    return(-1);
                }
                catch (Exception ex)
                {
                    Log.write("DB_AlarmHandler " + identity.ToString() + " --Guard_Validate:Error-" + "Message: " + ex.Message, 0);
                    return(-1);
                }
            }
        }
예제 #10
0
        public bool VideoServer_Status(bool IsConnected)
        {
            try
            {
                //命令设置
                command_MngServerStatus             = sqlCnt_MngServerStatus.CreateCommand();
                command_MngServerStatus.CommandType = CommandType.StoredProcedure;
                command_MngServerStatus.CommandText = "P_VIDEO_SERVER_UPDATE";
                bStored_Init = true;

                //超时
                if (IsConnected == true)
                {
                    command_MngServerStatus.Parameters.Add("@status", SqlDbType.Int, 4).Value = 1;
                }
                else
                {
                    command_MngServerStatus.Parameters.Add("@status", SqlDbType.Int, 4).Value = 0;
                }


                //返回值设置
                SqlParameter parOutput = command_MngServerStatus.Parameters.Add("@message", SqlDbType.NVarChar, 200);    //定义输出参数
                parOutput.Direction    = ParameterDirection.Output;                                                      //参数类型为Output
                //执行
                int iRet = command_MngServerStatus.ExecuteNonQuery();
                //返回值
                if (iRet == 0 || iRet == -1)
                {
                    Log.write("Database---VideoServer_Status:NOT EFFECTIVE");
                    return(false);
                }

                string strRet = parOutput.SqlValue.ToString();
                if (strRet == "Null" || strRet == "0")
                {
                    Log.write("Database---VideoServer_Status:TRUE");

                    return(true);
                }
                else
                {
                    Log.write("Database---VideoServer_Status:FALSE-" + strRet);
                    return(false);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database---VideoServer_Status:OperationError-" + "Message: " + ex.Message, 0);
                return(false);
            }
            catch (SqlException ex)
            {
                Log.write("Database---VideoServer_Status:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("Database---VideoServer_Status:Error-" + "Message: " + ex.Message, 0);
                return(false);
            }
        }
예제 #11
0
        private bool DB_Get_Cmd()
        {
            try
            {
                //命令设置
                command_DBThreadHandler             = sqlCnt.CreateCommand();
                command_DBThreadHandler.CommandType = CommandType.StoredProcedure;
                command_DBThreadHandler.CommandText = "P_CMD_SEND";

                //返回值设置
                SqlParameter Output_cmdCode = command_DBThreadHandler.Parameters.Add("@cmdCode", SqlDbType.VarChar, 20);    //定义输出参数
                Output_cmdCode.Direction    = ParameterDirection.Output;                                                    //参数类型为Output

                //返回值设置
                SqlParameter Output_data = command_DBThreadHandler.Parameters.Add("@sendData", SqlDbType.VarChar, 500);    //定义输出参数
                Output_data.Direction    = ParameterDirection.Output;                                                      //参数类型为Output

                //返回值设置
                SqlParameter Output_ID = command_DBThreadHandler.Parameters.Add("@pk_id", SqlDbType.Int, 4);    //定义输出参数
                Output_ID.Direction    = ParameterDirection.Output;                                             //参数类型为Output

                //返回值设置
                SqlParameter Output_Return = new SqlParameter("@return", SqlDbType.Int);
                Output_Return.Direction = ParameterDirection.ReturnValue;   //参数类型为ReturnValue
                command_DBThreadHandler.Parameters.Add(Output_Return);

                //执行
                command_DBThreadHandler.ExecuteNonQuery();

                int iRet = Convert.ToInt32(Output_Return.SqlValue.ToString());
                if (iRet == 0)
                {
                    return(false);
                }
                else if (iRet == 1)
                {
                    string strCmd_Code = Output_cmdCode.SqlValue.ToString();
                    string strCmd_Data = Output_data.SqlValue.ToString();
                    int    iCmd_ID     = Convert.ToInt32(Output_ID.SqlValue.ToString());

                    Cmd_AddList(strCmd_Code, strCmd_Data, iCmd_ID);
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (SqlException ex)
            {
                Log.write("DB_Get_Cmd SqlException Error:" + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("DB_Get_Cmd Error:" + ex.Message, 0);
                SqlExceptionHelper.restart();
                return(false);
            }
        }
예제 #12
0
        public int Terminal_Labels_Pos_Update(string terminal_uid, string label1, string label2, string label3, string label4, string label5, int[] coilIndex = null)
        {
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_LABEL_POS_UPDATE";

                //参数添加 terminal uid
                command_APHandler.Parameters.Add("@terminal_uid", SqlDbType.VarChar, 50).Value = terminal_uid;

                //添加Label RFID
                command_APHandler.Parameters.Add("@label1_ID", SqlDbType.VarChar, 50).Value = label1;
                command_APHandler.Parameters.Add("@label2_ID", SqlDbType.VarChar, 50).Value = label2;
                command_APHandler.Parameters.Add("@label3_ID", SqlDbType.VarChar, 50).Value = label3;
                command_APHandler.Parameters.Add("@label4_ID", SqlDbType.VarChar, 50).Value = label4;
                command_APHandler.Parameters.Add("@label5_ID", SqlDbType.VarChar, 50).Value = label5;

                if (coilIndex == null)
                {
                    command_APHandler.Parameters.Add("@coilIndex1", SqlDbType.Int, 4).Value = 0;
                    command_APHandler.Parameters.Add("@coilIndex2", SqlDbType.Int, 4).Value = 0;
                    command_APHandler.Parameters.Add("@coilIndex3", SqlDbType.Int, 4).Value = 0;
                    command_APHandler.Parameters.Add("@coilIndex4", SqlDbType.Int, 4).Value = 0;
                    command_APHandler.Parameters.Add("@coilIndex5", SqlDbType.Int, 4).Value = 0;
                }
                else
                {
                    command_APHandler.Parameters.Add("@coilIndex1", SqlDbType.Int, 4).Value = coilIndex[0];
                    command_APHandler.Parameters.Add("@coilIndex2", SqlDbType.Int, 4).Value = coilIndex[1];
                    command_APHandler.Parameters.Add("@coilIndex3", SqlDbType.Int, 4).Value = coilIndex[2];
                    command_APHandler.Parameters.Add("@coilIndex4", SqlDbType.Int, 4).Value = coilIndex[3];
                    command_APHandler.Parameters.Add("@coilIndex5", SqlDbType.Int, 4).Value = coilIndex[4];
                }

                //返回值设置
                SqlParameter parOutput1 = command_APHandler.Parameters.Add("@message1", SqlDbType.NVarChar, 200);    //定义输出参数
                parOutput1.Direction    = ParameterDirection.Output;                                                 //参数类型为Output
                //返回值设置
                SqlParameter parOutput2 = command_APHandler.Parameters.Add("@message2", SqlDbType.NVarChar, 200);    //定义输出参数
                parOutput2.Direction    = ParameterDirection.Output;                                                 //参数类型为Output
                //返回值设置
                SqlParameter parOutput3 = command_APHandler.Parameters.Add("@message3", SqlDbType.NVarChar, 200);    //定义输出参数
                parOutput3.Direction    = ParameterDirection.Output;                                                 //参数类型为Output
                //返回值设置
                SqlParameter parOutput4 = command_APHandler.Parameters.Add("@message4", SqlDbType.NVarChar, 200);    //定义输出参数
                parOutput4.Direction    = ParameterDirection.Output;                                                 //参数类型为Output
                //返回值设置
                SqlParameter parOutput5 = command_APHandler.Parameters.Add("@message5", SqlDbType.NVarChar, 200);    //定义输出参数
                parOutput5.Direction    = ParameterDirection.Output;                                                 //参数类型为Output

                //返回值设置
                SqlParameter param_count = command_APHandler.Parameters.Add("@Count", SqlDbType.Int, 4);    //定义输出参数
                param_count.Direction    = ParameterDirection.Output;                                       //参数类型为Output

                //返回值设置
                SqlParameter param_ok = command_APHandler.Parameters.Add("@ok", SqlDbType.Int, 4);    //定义输出参数
                param_ok.Direction    = ParameterDirection.Output;                                    //参数类型为Output
                //执行
                int iRet = command_APHandler.ExecuteNonQuery();

                string strRet1 = parOutput1.SqlValue.ToString();
                string strRet2 = parOutput1.SqlValue.ToString();
                string strRet3 = parOutput1.SqlValue.ToString();
                string strRet4 = parOutput1.SqlValue.ToString();
                string strRet5 = parOutput1.SqlValue.ToString();
                int    count   = Convert.ToInt32(param_count.SqlValue.ToString());
                int    ok      = Convert.ToInt32(param_ok.SqlValue.ToString());

                if (iRet == 0 || iRet == -1)
                {
                    Log.write("Database " + identity.ToString() + " --Terminal_Labels_Pos_Update:NOT EFFECTIVE");
                    return(0);
                }

                //返回值
                if (ok == 0)
                {
                    Log.write("Database " + identity.ToString() + " --Terminal_Labels_Pos_Update:TRUE" + count.ToString());
                    return(count);
                }
                else
                {
                    Log.write("Database " + identity.ToString() + " --Terminal_Labels_Pos_Update:Failed!" + strRet1 + strRet2 + strRet3 + strRet4 + strRet5);
                    return(-1);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Labels_Pos_Update:OperationError-" + "Message: " + ex.Message, 0);
                return(-1);
            }
            catch (SqlException ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Labels_Pos_Update:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(-1);
            }
            catch (Exception ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Labels_Pos_Update:Error-" + "Message: " + ex.Message, 0);
                return(-1);
            }
        }
예제 #13
0
        public bool Terminal_Status_Update(string uid, string terminal_uid, int status)
        {
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_TERMINALSTATUS_UPDATE";
                bStored_Init = true;

                //参数添加 ap uid
                command_APHandler.Parameters.Add("@uid", SqlDbType.VarChar, 50).Value = uid;

                //参数添加 terminal uid
                command_APHandler.Parameters.Add("@terminal_uid", SqlDbType.VarChar, 50).Value = terminal_uid;

                //参数添加 ap 通道数
                if (status == 1)
                {
                    command_APHandler.Parameters.Add("@status", SqlDbType.Int, 4).Value = 1;
                }
                else
                {
                    command_APHandler.Parameters.Add("@status", SqlDbType.Int, 4).Value = 0;
                }


                //返回值设置
                SqlParameter parOutput = command_APHandler.Parameters.Add("@message", SqlDbType.NVarChar, 20);    //定义输出参数
                parOutput.Direction    = ParameterDirection.Output;                                               //参数类型为Output
                //执行
                int iRet = command_APHandler.ExecuteNonQuery();
                //返回值
                if (iRet == 0 || iRet == -1)
                {
                    Log.write("Database " + identity.ToString() + " --Terminal_Status_Update:NOT EFFECTIVE");
                    return(false);
                }

                string strRet = parOutput.SqlValue.ToString();
                if (strRet == "Null" || strRet == "0")
                {
                    Log.write("Database " + identity.ToString() + " --Terminal_Status_Update:TRUE");

                    return(true);
                }
                else
                {
                    Log.write("Database " + identity.ToString() + " --Terminal_Status_Update:FALSE");
                    return(false);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Status_Update:OperationError-" + "Message: " + ex.Message, 0);
                return(false);
            }
            catch (SqlException ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Status_Update:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Status_Update:Error-" + "Message: " + ex.Message, 0);
                return(false);
            }
        }
예제 #14
0
        public bool AP_Show_Msg(string Label, ref string SO_NO, ref string COLOR_NO, ref string Lot_NO, ref string ClothName, ref string Cloth_Kind)
        {
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_AP_SHOW_MSG";
                bStored_Init = true;

                //参数添加 ap uid
                command_APHandler.Parameters.Add("@label", SqlDbType.VarChar, 50).Value = Label;

                //返回参数设置
                SqlParameter Ret_SO_NO = new SqlParameter("@SO_NO", SqlDbType.VarChar, 50);
                Ret_SO_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_SO_NO);

                //返回参数设置
                SqlParameter Ret_COLOR_NO = new SqlParameter("@COLOR_NO", SqlDbType.VarChar, 50);
                Ret_COLOR_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_COLOR_NO);

                //返回参数设置
                SqlParameter Ret_Lot_NO = new SqlParameter("@Lot_NO", SqlDbType.VarChar, 50);
                Ret_Lot_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_Lot_NO);

                //返回参数设置
                SqlParameter Ret_ClothName = new SqlParameter("@ClothName", SqlDbType.VarChar, 50);
                Ret_ClothName.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_ClothName);

                //返回参数设置
                SqlParameter Ret_Cloth_Kind = new SqlParameter("@Cloth_Kind", SqlDbType.VarChar, 50);
                Ret_Cloth_Kind.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_Cloth_Kind);

                //返回值设置
                SqlParameter parReturn = new SqlParameter("@return", SqlDbType.VarChar, 50);
                parReturn.Direction = ParameterDirection.ReturnValue;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(parReturn);

                //执行
                command_APHandler.ExecuteNonQuery();

                SO_NO      = Ret_SO_NO.Value.ToString();
                COLOR_NO   = Ret_COLOR_NO.Value.ToString();
                Lot_NO     = Ret_Lot_NO.Value.ToString();
                ClothName  = Ret_ClothName.Value.ToString();
                Cloth_Kind = Ret_Cloth_Kind.Value.ToString();
                //返回值
                if (parReturn.Value.Equals(1))
                {
                    Log.write("Database " + " --AP_Show_Msg:TRUE");
                    return(true);
                }
                else
                {
                    Log.write("Database " + " --AP_Show_Msg:FALSE");
                    return(false);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database " + " --AP_Show_Msg:OperationError-" + "Message: " + ex.Message, 0);
                return(false);
            }
            catch (SqlException ex)
            {
                Log.write("Database " + " --AP_Show_Msg:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("Database " + " --AP_Show_Msg:Error-" + "Message: " + ex.Message, 0);
                return(false);
            }
        }
예제 #15
0
        public int Mobile_Info_Get_By_RFID(string strRFID, ref string strSONO, ref string COLOR_NO, ref string strPos, ref string ClothName, ref string Cloth_Kind)
        {
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_MOBILE_MSG_GET_BY_RFID";
                bStored_Init = true;

                //参数添加 ap uid
                command_APHandler.Parameters.Add("@RFID_NO", SqlDbType.VarChar, 20).Value = strRFID;

                //返回参数设置BATCH_DATE
                SqlParameter Ret_SO_NO = new SqlParameter("@SO_NO", SqlDbType.VarChar, 50);
                Ret_SO_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_SO_NO);

                //返回参数设置BATCH_DATE
                SqlParameter Ret_BATCH_DATE = new SqlParameter("@BATCH_DATE", SqlDbType.DateTime);
                Ret_BATCH_DATE.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_BATCH_DATE);

                //返回参数设置DOC_TYPE_OUT
                SqlParameter Ret_DOC_TYPE_OUT = new SqlParameter("@DOC_TYPE_OUT", SqlDbType.VarChar, 10);
                Ret_DOC_TYPE_OUT.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_DOC_TYPE_OUT);

                //返回参数设置SEQ_NO
                SqlParameter Ret_SEQ_NO = new SqlParameter("@SEQ_NO", SqlDbType.VarChar, 20);
                Ret_SEQ_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_SEQ_NO);

                //返回参数设置COL_NO
                SqlParameter Ret_COL_NO = new SqlParameter("@COL_NO", SqlDbType.VarChar, 20);
                Ret_COL_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_COL_NO);


                //返回参数设置LOT_NO
                SqlParameter Ret_LOT_NO = new SqlParameter("@LOT_NO", SqlDbType.VarChar, 20);
                Ret_LOT_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_LOT_NO);

                //返回参数设置COL_NO_OK
                SqlParameter Ret_COL_NO_OK = new SqlParameter("@COL_NO_OK", SqlDbType.VarChar, 20);
                Ret_COL_NO_OK.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_COL_NO_OK);

                //返回参数设置CUST_NO
                SqlParameter Ret_CUST_NO = new SqlParameter("@CUST_NO", SqlDbType.VarChar, 20);
                Ret_CUST_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_CUST_NO);

                //返回参数设置CUST_SHORT
                SqlParameter Ret_CUST_SHORT = new SqlParameter("@CUST_SHORT", SqlDbType.VarChar, 20);
                Ret_CUST_SHORT.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_CUST_SHORT);

                //返回参数设置PROD_NO
                SqlParameter Ret_PROD_NO = new SqlParameter("@PROD_NO", SqlDbType.VarChar, 20);
                Ret_PROD_NO.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_PROD_NO);

                //返回参数设置PROD_NAME2
                SqlParameter Ret_PROD_NAME2 = new SqlParameter("@PROD_NAME2", SqlDbType.VarChar, 20);
                Ret_PROD_NAME2.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_PROD_NAME2);

                //返回参数设置PROD_TYPE
                SqlParameter Ret_PROD_TYPE = new SqlParameter("@PROD_TYPE", SqlDbType.VarChar, 20);
                Ret_PROD_TYPE.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_PROD_TYPE);

                //返回参数设置COL_NAME1
                SqlParameter Ret_COL_NAME1 = new SqlParameter("@COL_NAME1", SqlDbType.VarChar, 50);
                Ret_COL_NAME1.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_COL_NAME1);

                //返回参数设置COL_NAME2
                SqlParameter Ret_COL_NAME2 = new SqlParameter("@COL_NAME2", SqlDbType.VarChar, 50);
                Ret_COL_NAME2.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_COL_NAME2);

                //返回参数设置COL_NO_C
                SqlParameter Ret_COL_NO_C = new SqlParameter("@COL_NO_C", SqlDbType.VarChar, 50);
                Ret_COL_NO_C.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_COL_NO_C);

                //返回参数设置COL_NO_L
                SqlParameter Ret_COL_NO_L = new SqlParameter("@COL_NO_L", SqlDbType.VarChar, 50);
                Ret_COL_NO_L.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_COL_NO_L);

                //返回参数设置LBL_S
                SqlParameter Ret_LBL_S = new SqlParameter("@LBL_S", SqlDbType.VarChar, 100);
                Ret_LBL_S.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_LBL_S);

                //返回参数设置BUYER
                SqlParameter Ret_BUYER = new SqlParameter("@BUYER", SqlDbType.VarChar, 100);
                Ret_BUYER.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_BUYER);

                //返回参数设置REM
                SqlParameter Ret_REM = new SqlParameter("@REM", SqlDbType.VarChar, 100);
                Ret_REM.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_REM);

                //返回参数设置Ret_POS
                SqlParameter Ret_POS = new SqlParameter("@POS", SqlDbType.VarChar, 100);
                Ret_POS.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(Ret_POS);

                //返回值设置
                SqlParameter parReturn = new SqlParameter("@OK", SqlDbType.Int);
                parReturn.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(parReturn);

                //返回值设置message
                SqlParameter parmessage = new SqlParameter("@message", SqlDbType.VarChar, 200);
                parmessage.Direction = ParameterDirection.Output;   //参数类型为ReturnValue
                command_APHandler.Parameters.Add(parmessage);

                //执行
                command_APHandler.ExecuteNonQuery();

                strSONO    = Ret_SO_NO.Value.ToString();
                COLOR_NO   = Ret_COL_NO.Value.ToString();
                ClothName  = Ret_PROD_NAME2.Value.ToString();
                Cloth_Kind = Ret_PROD_TYPE.Value.ToString();
                strPos     = Ret_POS.Value.ToString();
                //返回值
                byte ret = byte.Parse(parReturn.Value.ToString());
                if (ret == 1)
                {
                    Log.write("Database " + " --Mobile_Info_Get:TRUE");
                    return(ret);
                }
                else
                {
                    Log.write("Database " + " --Mobile_Info_Get:FALSE");
                    return(ret);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database " + " --Mobile_Info_Get:OperationError-" + "Message: " + ex.Message, 0);
                return(5);
            }
            catch (SqlException ex)
            {
                Log.write("Database " + " --Mobile_Info_Get:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(5);
            }
            catch (Exception ex)
            {
                Log.write("Database " + " --Mobile_Info_Get:Error-" + "Message: " + ex.Message, 0);
                return(5);
            }
        }
예제 #16
0
        public bool Terminal_Coil_Alarm(string terminal_uid, byte status, byte no_index)
        {
            int[] coilsstatus = new int[8];
            int[] coilEnable  = new int[8];
            coilsstatus[0] = ((status >> 7) & 0x01);
            coilsstatus[1] = ((status >> 6) & 0x01);
            coilsstatus[2] = ((status >> 5) & 0x01);
            coilsstatus[3] = ((status >> 4) & 0x01);
            coilsstatus[4] = ((status >> 3) & 0x01);
            coilsstatus[5] = ((status >> 2) & 0x01);
            coilsstatus[6] = ((status >> 1) & 0x01);
            coilsstatus[7] = ((status >> 0) & 0x01);


            coilEnable[0] = ((no_index >> 7) & 0x01);
            coilEnable[1] = ((no_index >> 6) & 0x01);
            coilEnable[2] = ((no_index >> 5) & 0x01);
            coilEnable[3] = ((no_index >> 4) & 0x01);
            coilEnable[4] = ((no_index >> 3) & 0x01);
            coilEnable[5] = ((no_index >> 2) & 0x01);
            coilEnable[6] = ((no_index >> 1) & 0x01);
            coilEnable[7] = ((no_index >> 0) & 0x01);
            for (int i = 0; i < 8; i++)
            {
                if (coilsstatus[i] == 0 && coilEnable[i] == 1)
                {
                    coilsstatus[i] = 2;
                }

                if (coilEnable[i] == 0)
                {
                    coilsstatus[i] = 0;
                }
            }
            try
            {
                //命令设置
                command_APHandler             = sqlCnt.CreateCommand();
                command_APHandler.CommandType = CommandType.StoredProcedure;
                command_APHandler.CommandText = "P_TERMINAL_COIL_STATUS_UPDATE";

                //参数添加 terminal uid
                command_APHandler.Parameters.Add("@terminal_uid", SqlDbType.VarChar, 50).Value = terminal_uid;

                //添加Label RFID
                command_APHandler.Parameters.Add("@coil1", SqlDbType.VarChar, 50).Value = coilsstatus[0];
                command_APHandler.Parameters.Add("@coil2", SqlDbType.VarChar, 50).Value = coilsstatus[1];
                command_APHandler.Parameters.Add("@coil3", SqlDbType.VarChar, 50).Value = coilsstatus[2];
                command_APHandler.Parameters.Add("@coil4", SqlDbType.VarChar, 50).Value = coilsstatus[3];
                command_APHandler.Parameters.Add("@coil5", SqlDbType.VarChar, 50).Value = coilsstatus[4];
                command_APHandler.Parameters.Add("@coil6", SqlDbType.VarChar, 50).Value = coilsstatus[5];
                command_APHandler.Parameters.Add("@coil7", SqlDbType.VarChar, 50).Value = coilsstatus[6];
                command_APHandler.Parameters.Add("@coil8", SqlDbType.VarChar, 50).Value = coilsstatus[7];


                //返回值设置
                SqlParameter parOutput1 = command_APHandler.Parameters.Add("@message", SqlDbType.NVarChar, 200);    //定义输出参数
                parOutput1.Direction    = ParameterDirection.Output;                                                //参数类型为Output

                //返回值设置
                SqlParameter param_ok = command_APHandler.Parameters.Add("@ok", SqlDbType.Int, 4);    //定义输出参数
                param_ok.Direction    = ParameterDirection.Output;                                    //参数类型为Output

                int iRet = command_APHandler.ExecuteNonQuery();

                int ok = Convert.ToInt32(param_ok.SqlValue.ToString());

                if (ok == 0 || ok == -1)
                {
                    Log.write("Database " + identity.ToString() + " --Terminal_Coil_Alarm:NOT EFFECTIVE");
                    return(false);
                }
                else if (ok == 1)
                {
                    Log.write("Database " + identity.ToString() + " --Terminal_Coil_Alarm:TRUE");
                    return(true);
                }
            }
            catch (InvalidOperationException ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Coil_Alarm:OperationError-" + "Message: " + ex.Message, 0);
                return(false);
            }
            catch (SqlException ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Coil_Alarm:SqlError-Number:" + ex.Number.ToString() + ";Message: " + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Log.write("Database " + identity.ToString() + " --Terminal_Coil_Alarm:Error-" + "Message: " + ex.Message, 0);
                return(false);
            }
            return(false);
        }
예제 #17
0
        private void DBHandleJob()
        {
            try
            {
                if (dbOrderList.Count == 0 && dbSentList.Count == 0)
                {
                    Log.write("DBMsgHandler-WaitOne");
                    resumeEvent.Reset();
                    resumeEvent.WaitOne();
                }

                lock (dbOrderList)
                {
                    if (dbOrderList.Count != 0)
                    {
                        APParser apParser = dbOrderList[0];
                        udpsocket.Send(apParser.GetParam_Origin_byte());
                        dbOrderList.RemoveAt(0);
                        dbSentList.Add(apParser);
                        Log.write("DBMsgHandler---Send a command", 0);
                    } //处理发送数据
                }     //锁存dbOrderList


                int dbSent_count = dbSentList.Count;
                if (dbSent_count == 0)
                {
                    return;
                }//已发送命令

                lock (dbResultList)
                {
                    int dbResult_count = dbResultList.Count;
                    if (dbResult_count == 0)
                    {
                        Thread.Sleep(50);
                        return;
                    }//有处理结果返回

                    for (int i = dbResult_count - 1; i >= 0; i--)
                    {
                        dbResult_count = dbResultList.Count;

                        if (dbResult_count == 0)
                        {
                            break;
                        }//结果为0,结束

                        bool isReponsed = false;
                        for (int j = dbSent_count - 1; j >= 0; j--)
                        {
                            APParser SentParser   = dbSentList[j];
                            APParser ResultParser = dbResultList[i];
                            int      iRet         = APParser.RelatingMsg(SentParser, ResultParser);
                            if (iRet == 1)
                            {
                                database.DB_Set_Cmd(SentParser.GetID(), ResultParser.GetParam_Result());
                                //Log.write("DBMsgHandler-Get relative message:sent JobDone");
                                Log.write("DBMsgHandler---matching a result:" + SentParser.GetParam_Origin_Hex() + "\r\n" + ResultParser.GetParam_Origin_Hex() + "\r\n", 2);
                                dbSentList.RemoveAt(j);
                                dbResultList.RemoveAt(i);
                                SentParser.Dispose();
                                ResultParser.Dispose();
                                isReponsed = true;

                                break;//match and break the circle
                            }
                            else if (iRet == 0)
                            {
                                database.DB_Update_Cmd(SentParser.GetID(), ResultParser.GetParam_Cmd_SendOrNot());

                                Log.write("DBMsgHandler---matching a response:" + SentParser.GetParam_Origin_Hex() + "\r\n" + ResultParser.GetParam_Origin_Hex() + "\r\n", 2);
                                isReponsed = true;
                                dbResultList.RemoveAt(i);
                                ResultParser.Dispose();
                                break;//match and break the circle
                            }
                            else
                            {
                            }
                        }

                        if (!isReponsed)
                        {
                            APParser aa = dbResultList[i];
                            aa.Dispose();
                            dbResultList.RemoveAt(i);
                            Log.write("DBMsgHandler---inequal result", 0);
                        }
                    } //遍历匹配
                }     //锁存
            }
            catch (SqlException ex)
            {
                Log.write("DBMsgHandler SqlException Error:" + ex.Message, 0);
                SqlExceptionHelper.Deal(ex);
            }
            catch (Exception ex)
            {
                Log.write("DBMsgHandler-ThreadError:" + ex.Message, 0);
                dbOrderList.Clear();
                dbResultList.Clear();
                Log.write("DBMsgHandler-Clear All", 0);
            }
        }