public string SaveSensor(Sensor sensor) { LogEntry log = new LogEntry(getIP(), "SaveSensor", sensor.Serial + " " + sensor.Name); int successRows = 0; string result = ""; try { ttConnection = new SqlConnection(connection); ttConnection.Open(); } catch (Exception ex) { Trace.WriteLine(ex.Message); return(ex.Message); } try { // check sensor isn't already there*************** string query = string.Format("SELECT serial FROM sensors where sensors.serial = '{0}'", sensor.Serial); bool exists = true; string now = TimeString(DateTime.Now); using (SqlDataAdapter sensorAdapter = new SqlDataAdapter(query, ttConnection)) { dataLogins = new DataTable(); sensorAdapter.Fill(dataLogins); if (dataLogins.Rows.Count == 0) { exists = false; } } if (exists) { query = string.Format("update sensors set name='{0}',descrip = '{1}',alarmlow ='{2}',alarmhigh= '{3}',period='{4}',timeadded='{5}' where sensors.serial = '{6}'", sensor.Name, sensor.Description, sensor.AlarmLow, sensor.AlarmHigh, sensor.Period, now, sensor.Serial); } else { query = string.Format("insert into sensors (serial,name,owner,period,descrip,alarmlow,alarmhigh,timeadded) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')", sensor.Serial, sensor.Name, sensor.Owner, sensor.Period, sensor.Description, sensor.AlarmLow, sensor.AlarmHigh, now); } using (System.Data.SqlClient.SqlCommand command = new SqlCommand(query, ttConnection)) { successRows = command.ExecuteNonQuery(); } if (successRows == 1) { result = string.Format("Sensor {0} saved OK", sensor.Name); } else { result = string.Format("Database error: sensor {0} not saved: {1} rows changed", sensor.Serial, successRows); } } catch (Exception ex) { Trace.WriteLine(ex.Message); log.Error = ex.Message; //return ex.Message; } finally { log.Result = result; log.Save(ttConnection); ttConnection.Close(); } return(result); }