using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model; using Casic.Birmm.RbFreqStandMeasure.Tools; using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Data; using System.Reflection; namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service.Impl { class DetectionItemServiceImpl : DetectionItemService { public int add(int deviceId, DateTime startTime, DateTime endTime, int stability, int accuracy, int bootFeature, int ageRate, String interval) { int iRetval = -1; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addDetectionItem : 数据库链接断开"); return iRetval; } string sQry = "INSERT INTO r_detection_item (DEVICE_ID,START_TIME,END_TIME,STABILITY,ACCURACY,BOOT_FEATURE,AGE_RATE,INTERVAL)" + "values(@DEVICE_ID,@START_TIME,@END_TIME,@STABILITY,@ACCURACY,@BOOT_FEATURE,@AGE_RATE,@INTERVAL)"; MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.Parameters.Add("@DEVICE_ID", MySqlDbType.Int64, 20).Value = deviceId; cmd.Parameters.Add("@START_TIME", MySqlDbType.DateTime, 0).Value = startTime; cmd.Parameters.Add("@END_TIME", MySqlDbType.DateTime, 0).Value = endTime; cmd.Parameters.Add("@STABILITY", MySqlDbType.Int64, 10).Value = stability; cmd.Parameters.Add("@ACCURACY", MySqlDbType.Int64, 10).Value = accuracy; cmd.Parameters.Add("@BOOT_FEATURE", MySqlDbType.Int64, 10).Value = bootFeature; cmd.Parameters.Add("@AGE_RATE", MySqlDbType.Int64, 10).Value = ageRate; cmd.Parameters.Add("@INTERVAL", MySqlDbType.String, 30).Value = interval; cmd.ExecuteNonQuery(); cmd.Dispose(); iRetval = 0; } catch (MySqlException e) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addDetectionItem: " + e.Message); iRetval = -1; } return iRetval; } public int update(int deviceId, DateTime startTime, DateTime endTime, int stability, int accuracy, int bootFeature, int ageRate, String interval) { int iRetval = -1; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDetectionItem : 数据库链接断开"); return iRetval; } string sQry = "UPDATE r_detection_item SET (START_TIME,END_TIME,STABILITY,ACCURACY,BOOT_FEATURE,AGE_RATE,INTERVAL)" + "values (@START_TIME,@END_TIME,@STABILITY,@ACCURACY,@BOOT_FEATURE,@AGE_RATE,@INTERVAL) WHERE DEVICE_ID = " + deviceId; MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.Parameters.Add("@START_TIME", MySqlDbType.DateTime, 0).Value = startTime; cmd.Parameters.Add("@END_TIME", MySqlDbType.DateTime, 0).Value = endTime; cmd.Parameters.Add("@STABILITY", MySqlDbType.Int64, 10).Value = stability; cmd.Parameters.Add("@ACCURACY", MySqlDbType.Int64, 10).Value = accuracy; cmd.Parameters.Add("@BOOT_FEATURE", MySqlDbType.Int64, 10).Value = bootFeature; cmd.Parameters.Add("@AGE_RATE", MySqlDbType.Int64, 10).Value = ageRate; cmd.Parameters.Add("@INTERVAL", MySqlDbType.String, 30).Value = interval; cmd.ExecuteNonQuery(); cmd.Dispose(); iRetval = 0; } catch (MySqlException e) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDetectionItem: " + e.Message); iRetval = -1; } return iRetval; } public List<DetectionItem> serach(int deviceId) { List<DetectionItem> detectionItemList = new List<DetectionItem>(); try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "searchDetectionItem : 数据库链接断开"); return null; } string sQry = "SELECT * FROM r_detection_item where DEVICE_ID = " + deviceId; MySqlCommand aCommand = new MySqlCommand(sQry, DbConnectService.mySqlConnect); using (MySqlDataReader aReader = aCommand.ExecuteReader()) { while (aReader.Read()) { DetectionItem detectionItem = new DetectionItem(); //姓名 if (!aReader.IsDBNull(0)) detectionItem.Id=Convert.ToInt32(aReader.GetString(0)); if (!aReader.IsDBNull(1)) detectionItem.DeviceId = Convert.ToInt32(aReader.GetString(1)); if (!aReader.IsDBNull(2)) detectionItem.StartTime = Convert.ToDateTime(aReader.GetString(2)); if (!aReader.IsDBNull(3)) detectionItem.EndTime = Convert.ToDateTime(aReader.GetString(3)); if (!aReader.IsDBNull(4)) detectionItem.Stability = Convert.ToInt32(aReader.GetString(4)); if (!aReader.IsDBNull(5)) detectionItem.Accuracy = Convert.ToInt32(aReader.GetString(5)); if (!aReader.IsDBNull(6)) detectionItem.BootFeature = Convert.ToInt32(aReader.GetString(6)); if (!aReader.IsDBNull(7)) detectionItem.AgeRate = Convert.ToInt32(aReader.GetString(7)); if (!aReader.IsDBNull(8)) detectionItem.Interval = aReader.GetString(8); detectionItemList.Add(detectionItem); } aCommand.Dispose(); } } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "searchDetectionItem: " + ex.Message); detectionItemList = null; } return detectionItemList; } } }