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 CounterDetecInitServiceImpl:CounterDetecInitService { public List<CounterDetecInit> getAll() { List<CounterDetecInit> counterDetecInitList = new List<CounterDetecInit>(); try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "searchDevice : 数据库链接断开"); int iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return null; } } string sQry = "SELECT * FROM r_counter_detec_init order by ID"; MySqlCommand aCommand = new MySqlCommand(sQry, DbConnectService.mySqlConnect); using (MySqlDataReader aReader = aCommand.ExecuteReader()) { while (aReader.Read()) { CounterDetecInit counterDetecInit = new CounterDetecInit(); if (!aReader.IsDBNull(0)) counterDetecInit.Id = Convert.ToInt32(aReader.GetString(0)); if (!aReader.IsDBNull(1)) counterDetecInit.Frequency = aReader.GetString(1); if (!aReader.IsDBNull(2)) counterDetecInit.Cycle = aReader.GetString(2); counterDetecInitList.Add(counterDetecInit); } aReader.Close(); } aCommand.Dispose(); } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "searchDevice: " + ex.Message); } return counterDetecInitList; } public long addOrUpdate(string frequency, string cycle) { int iRetval = -1; long initId = -1; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterData : 数据库链接断开"); iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return iRetval; } } string sQry = "select ID from r_counter_detec_init where FREQUENCY='" + frequency + "' AND CYCLE='" + cycle + "'"; MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); using (MySqlDataReader aReader = cmd.ExecuteReader()) { if (aReader.Read()) { initId = Convert.ToInt64(aReader.GetString(0)); } aReader.Close(); } if (initId != -1) { sQry = "UPDATE r_counter_detec_init SET FREQUENCY=@FREQUENCY, CYCLE=@CYCLE WHERE ID = " + initId; cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.Parameters.Add("@FREQUENCY", MySqlDbType.String, 30).Value = frequency; cmd.Parameters.Add("@CYCLE", MySqlDbType.String, 30).Value = cycle; cmd.ExecuteNonQuery(); cmd.Dispose(); } else { sQry = "INSERT INTO r_counter_detec_init (FREQUENCY,CYCLE) VALUES (@FREQUENCY, @CYCLE)"; cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.Parameters.Add("@FREQUENCY", MySqlDbType.String, 30).Value = frequency; cmd.Parameters.Add("@CYCLE", MySqlDbType.String, 30).Value = cycle; cmd.ExecuteNonQuery(); cmd.Dispose(); } cmd.Dispose(); iRetval = 0; } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterData : " + ex.Message); return -1; } return initId; } public int update(int id, string frequency, string cycle) { int iRetval = -1; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : 数据库链接断开"); iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return iRetval; } } string sQry = "UPDATE r_counter_detec_init SET FREQUENCY=@FREQUENCY, CYCLE=@CYCLE " + "WHERE ID = " + id; MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.Parameters.Add("@FREQUENCY", MySqlDbType.String, 30).Value = frequency; cmd.Parameters.Add("@CYCLE", MySqlDbType.String, 30).Value = cycle; cmd.ExecuteNonQuery(); cmd.Dispose(); iRetval = 0; } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDeviced : " + ex.Message); } return iRetval; } public int delete(int id) { int iRetval = -1; try { if (DbConnectService.mySqlConnect.State == ConnectionState.Closed) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "deleteDeviced : 数据库链接断开"); iRetval = DbConnectService.openDb(); if (iRetval != 0) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!"); return iRetval; } } string sQry = "delete from r_counter_detec_init WHERE ID = " + id; MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect); cmd.ExecuteNonQuery(); cmd.Dispose(); iRetval = 0; } catch (MySqlException ex) { LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "deleteDeviced : " + ex.Message); } return iRetval; } } }