public static double TemperaturaAtual() { //SqlConnection conn = new SqlConnection(@"Server=tcp:tab132.database.windows.net,1433;Initial Catalog=esporte;Persist Security Info=False;User ID=mateus383;Password=123456sS;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"); SqlConnection conn = Default.conecao(); using (conn) { conn.Open(); using (SqlCommand cmd = new SqlCommand("SELECT temperatura FROM Temperatura WHERE cod_temperatura = (SELECT MAX(cod_Temperatura) FROM temperatura)", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { return(double.Parse(dr["temperatura"].ToString())); } else { return(0); } } } } }
public static double minimo() {// metodo pra pegar a temp minima int medea = 0; int a = 0; SqlConnection conn = Default.conecao(); { conn.Open(); using (SqlCommand cmd = new SqlCommand("SELECT MAX ( cod_temperatura) FROM Temperatura", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { a = dr.GetInt32(0); medea = a - 60; //aqui eu fiz um algoritimo pra ele pegar a ultima temperatura dada, // e a ultima a 60 segundos atras } else { return(0); } conn.Close(); } } conn.Open(); using (SqlCommand cmd = new SqlCommand($"SELECT min(temperatura) FROM Temperatura WHERE cod_temperatura between {medea} and {a}", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { double po = dr.GetDouble(0); conn.Close(); return(po); //continuação do que ue falei acima, ele vai verificar as temperaturas entre a ultima //temperatura dada e a ultima 60segundos atras, e vai pegar o minimo entre elas } else { return(0); } } } } }
public static double Media() { int medea = 0; int a = 0; SqlConnection conn = Default.conecao(); { conn.Open(); using (SqlCommand cmd = new SqlCommand("SELECT MAX ( cod_temperatura) FROM Temperatura", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { a = dr.GetInt32(0); medea = a - 60; //aqui eu fiz um algoritimo pra ele pegar a ultima temperatura dada, // e a ultima a 60 segundos atras } else { return(0); } } } using (SqlCommand cmd = new SqlCommand($"SELECT round(avg(temperatura),2) FROM Temperatura WHERE cod_temperatura between {medea} and {a}", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { double po = dr.GetDouble(0); conn.Close(); return(po); //aqui o comando vai dar diretamente a media entre a ultima temperatura dada e a ultima a 60 //segundos atras, e logo em seguida ele só ira deixar 2 casas pós virgula } else { return(0); } } } } }
public static double TemperaturaAtual() { SqlConnection conn = Default.conecao(); { conn.Open(); using (SqlCommand cmd = new SqlCommand("SELECT temperatura FROM Temperatura WHERE cod_temperatura = (SELECT MAX(cod_Temperatura) FROM temperatura)", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { return(double.Parse(dr["temperatura"].ToString())); } else { return(0); } } } } }
public static double Mediana() { double xa = 0, b = 0, medea = 0; SqlConnection conn = Default.conecao(); { conn.Open(); using (SqlCommand cmd = new SqlCommand("SELECT MAX (cod_temperatura) FROM Temperatura", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { xa = dr.GetInt32(0) - 30; //como só iremos pegar a temperatura de 1 em 1 minuto, ou seja, a cada 60 segundos // eu coloquei pra pegar a mediana direto. } else { return(0); } } } using (SqlCommand cmd = new SqlCommand($"SELECT temperatura FROM Temperatura WHERE cod_temperatura = {xa}", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { medea = dr.GetDouble(0); // aqui ele vai pegar a temperatura mediana } else { cmd.ExecuteNonQuery(); return(1001); } } } using (SqlCommand cmd = new SqlCommand($"SELECT temperatura FROM Temperatura WHERE cod_temperatura = {xa + 1}", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.Read() == true) { b = dr.GetDouble(0); // e aqui ele vai pegar a mediana 31, que como é numero par ele ira // fazer o 30+31 (que é o meio do 60 mas é par entao o meio é duplo) } else { return(1001); } } } conn.Close(); return((medea + b) / 2); // esse é o calculo da mediana par } }
protected void registrovagao_Click(object sender, EventArgs e) { Session["teste"] = "o"; hiddenmodal.Text = Session["teste"].ToString(); if (nomevagao.Text.Length == 0 || quantidade.Text.Length == 0) { lebel.Text = "preencha todos os campos"; return; } // validando campo vazio int quantidadeDeVagao; if (int.TryParse(quantidade.Text, out quantidadeDeVagao) == false) { lebel.Text = "coloque um numero"; // O return encerra a execução por aqui return; } if (quantidadeDeVagao > 8) { lebel.Text = "muitos vagoes"; return; } if (trens.SelectedValue == "0") { lebel.Text = "preencha um trem"; return; }// aqui valida se ele preencheu o dropdown int codtrem; string opcoesDeTrem = trens.SelectedValue; //seleciona o ID do dropdown int.TryParse(opcoesDeTrem, out codtrem); // transforma o ID do drowpdown em int contador = 0; while (contador < quantidadeDeVagao) { contador = contador + 1; using (SqlConnection conn = Default.conecao()) { conn.Open(); using (SqlCommand cmd = new SqlCommand("INSERT INTO Vagao VALUES (@cod_trem,@nome_vagao)", conn)) { // string[] nomesVagoes = new string[50 + contador]; string nomesVagoes = nomevagao.Text; //nomesVagoes = nomesVagoes[contador] +" "+ contador; cmd.Parameters.AddWithValue("@cod_trem", codtrem); //seleciona o trem pelo dropdown cmd.Parameters.AddWithValue("@nome_vagao", nomesVagoes + " " + contador); //gera o nome do vagao, e se for registrado ira começar o vetor lebel.Text = "vagao cadastrado com sucesso!"; cmd.ExecuteNonQuery(); } //conta a quantidade de vagoes que foram feitos e classifica: trem1,trem2...trem7 using (SqlCommand cmd = new SqlCommand("select max(cod_vagao) from arduino", conn)) { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read() == true) { conta = reader.GetInt32(0); // cmd.ExecuteNonQuery(); } } } using (SqlCommand cmd = new SqlCommand("INSERT INTO arduino VALUES (@cod_vagao,@cod_trem)", conn)) { conta++; string nomesVagoes = nomevagao.Text; cmd.Parameters.AddWithValue("@cod_vagao", conta); //seleciona o trem pelo dropdown cmd.Parameters.AddWithValue("@cod_trem", codtrem); //gera o nome do vagao, e se for registrado ira começar o vetor cmd.ExecuteNonQuery(); } } } conn.Close(); }