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); } }