Beispiel #1
0
        public static void Exec(Pro_ShipDevice_Sail_Mod info, out UInt16 resultNum, out string reason)
        {
            Database  db  = DataConnect.GetConnect;
            DbCommand cmd = db.GetStoredProcCommand("PRO_SHIPDEVICE_SAIL");

            db.AddInParameter(cmd, ":pi_devid", DbType.String, info.Pi_DevId);
            db.AddInParameter(cmd, ":pi_devtime", DbType.Date, info.Pi_DevTime);
            db.AddInParameter(cmd, ":pi_lng", DbType.String, info.Pi_Lng);
            db.AddInParameter(cmd, ":pi_lat", DbType.String, info.Pi_Lat);
            db.AddInParameter(cmd, ":pi_azimuth", DbType.String, info.Pi_Azimuth);
            db.AddInParameter(cmd, ":pi_speed", DbType.String, info.Pi_Speed);
            db.AddInParameter(cmd, ":pi_starnum", DbType.String, info.Pi_StarNum);
            db.AddInParameter(cmd, ":pi_temperswitch", DbType.String, info.Pi_Temperswitch);
            db.AddOutParameter(cmd, ":po_ret", DbType.String, 256);
            db.AddOutParameter(cmd, ":po_content", DbType.String, 256);
            db.ExecuteNonQuery(cmd);

            string Result = db.GetParameterValue(cmd, ":po_ret").ToString();

            if (string.IsNullOrEmpty(Result))
            {
                resultNum = 1;
            }
            else
            {
                resultNum = Convert.ToUInt16(Result);
            }
            reason = db.GetParameterValue(cmd, ":po_content").ToString();
        }
 private void Single(byte[] content)
 {
     try
     {
         Pro_ShipDevice_Sail_Mod info = new Pro_ShipDevice_Sail_Mod();
         info.Pi_DevId        = StationId.ToString();        //设备编号
         info.Pi_DevTime      = ConverUtil.Time(content, 0); //设备时间
         info.Pi_Lng          = FormatNum(content, 6, 4);    //经度
         info.Pi_Lat          = FormatNum(content, 10, 4);   //维度
         info.Pi_Azimuth      = FormatNum(content, 14, 2);   //航向
         info.Pi_Speed        = FormatNum(content, 16, 2);   //航速。
         info.Pi_StarNum      = content[18].ToString();      //卫星数量。
         info.Pi_Temperswitch = content[19].ToString();      //防拆开关状态。
         UInt16 ResultNum;
         string Reason;
         Pro_ShipDevice_Sail_Dal.Exec(info, out ResultNum, out Reason);
         if (ResultNum != 0)
         {
             MyLibrary.Log.Debug(Name + "出错;" + Reason + " 原始代码:" + OriginalCode);
         }
     }
     catch (Exception ex)
     {
         MyLibrary.Log.Error(Name + "错误:" + ex.Message + " 原始代码:" + OriginalCode);
     }
 }