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.Linq; using System.Reflection; using System.Text; namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service.Impl { class CounterParamServiceImpl:CounterParamService { public int add(int deviceId, String baudRate, String generatorIp, String signalSourceIp) { int iRetval = -1; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterParam : 数据库链接断开"); iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return iRetval; } } string sQry = "INSERT INTO r_counter_param (DEVICE_ID,BAUD_RATE,GENERATOR_IP,SIGNAL_SOURCE_IP)" + "values(@DEVICE_ID,@BAUD_RATE,@GENERATOR_IP,@SIGNAL_SOURCE_IP)"; MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.Parameters.Add("@DEVICE_ID", MySqlDbType.Int64, 20).Value = deviceId; cmd.Parameters.Add("@BAUD_RATE", MySqlDbType.String, 255).Value = baudRate; cmd.Parameters.Add("@GENERATOR_IP", MySqlDbType.String, 0).Value = generatorIp; cmd.Parameters.Add("@SIGNAL_SOURCE_IP", MySqlDbType.String, 0).Value = signalSourceIp; cmd.ExecuteNonQuery(); cmd.Dispose(); iRetval = 0; } catch(MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterParam : " + ex.Message); iRetval = -1; } return iRetval; } public CounterParam getCounterParamByDeviceId(int deviceId) { CounterParam counterParam = new CounterParam(); try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterParam : 数据库链接断开"); int iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return null; } } string sql = "SELECT * FROM r_counter_param where DEVICE_ID = " + deviceId; MySqlCommand cmd = new MySqlCommand(sql, DbConnectService.mySqlConnect); using (MySqlDataReader aReader = cmd.ExecuteReader()) { if (aReader != null) { if (aReader.Read()) { //判断门的状态 if (!aReader.IsDBNull(0)) counterParam.Id = Convert.ToInt32(aReader.GetString(0)); if (!aReader.IsDBNull(1)) counterParam.DeviceId = Convert.ToInt32(aReader.GetString(1)); if (!aReader.IsDBNull(2)) counterParam.BaudRate = aReader.GetString(2); if (!aReader.IsDBNull(3)) counterParam.GeneratorIp = aReader.GetString(3); if (!aReader.IsDBNull(4)) counterParam.SignalSourceIp = aReader.GetString(4); } } aReader.Close(); } cmd.Dispose(); } catch(MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterParam : " + ex.Message); counterParam = null; } return counterParam; } } }