/*________________________________________________________________________ Zdarzenie wywyołane po naciśnięciu przycisku "Połącz" ________________________________________________________________________*/ private void buttonPolacz_Click(object sender, EventArgs e) { try { myConnection.Open(); //otworzenie połączenia MessageBox.Show(messageText, message, MessageBoxButtons.OK, MessageBoxIcon.Information); //wyświetlenie Messageboxa myConnection.Close(); //zamknięcie połączenia this.Hide(); //ukrycie formy Glowna formGlowna = new Glowna(); //utworzenie obiektu drugiej formy formGlowna._myConnection = _myConnection; //przekazanie połączenia MySQL do drugiej formy formGlowna._cultureInfo = _cultureInfo; formGlowna.ShowDialog(); //wyswietlenie drugiej formy this.Close(); //zamknięcie formy } catch (Exception ex) { labelKomunikat.Text = "Error\n" + ex.Message; } finally { if (myConnection != null) { myConnection.Close(); } } }
public void draw(MySqlConnection connection, string query, string seriesName, string ChartAreaName, DateTimePicker date1, DateTimePicker date2, ComboBox comboBoxIdCzujnika, ComboBox rodzaj, Chart chart, int[] rgb, int index, bool razem_osobno, int grubosc, ChartDashStyle styl, int interwalX, int interwalY) { Glowna gl = new Glowna(); if (razem_osobno == true) //sprawdza parametr który określa czy rysujemy wykres razem i innymi czy osobno, jeżeli razem { try { chart.Series.Remove(chart.Series[seriesName]); //wyczyść wykres chart.ChartAreas.Remove(chart.ChartAreas["ChartArea1"]); //wyczyść pole wykresu } catch { } try { Series series = new Series(); //utwórz nowy obiekt typu wyrkes ChartArea chartArea1 = new ChartArea(); //utwórz nowy obiekt typu przestrzeń dla wykresu if (chart.ChartAreas.IsUniqueName("ChartArea1")) //sprawdz czy taka przestrzeń już istnieje { chartArea1.Name = "ChartArea1"; //nazwa przestrzeni chart.ChartAreas.Add(chartArea1); //dodaj przestrzeń //ustawienia właściwości przestrzeni chartArea1.AxisY.IntervalAutoMode = IntervalAutoMode.VariableCount; chartArea1.AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount; chartArea1.AxisX.Interval = 100; chartArea1.AxisY.Interval = 2; chartArea1.AxisX.LabelStyle.Interval = 100; chartArea1.AxisY.LabelStyle.Interval = 2; chartArea1.AxisX.LabelStyle.IntervalOffset = 0D; chartArea1.AxisX.LabelStyle.IntervalOffsetType = DateTimeIntervalType.Auto; chartArea1.AxisX.LabelStyle.IntervalType = DateTimeIntervalType.Auto; chartArea1.AxisY.IsStartedFromZero = false; chartArea1.AxisX.IsStartedFromZero = false; } if (chart.Series.IsUniqueName(series.Name)) //sprawdz czy taki wykres istnieje { series.Name = seriesName; //pobier nazwę wykresu z parametrów chart.Series.Add(series); //dodaj wykres chart.Series[series.Name].Color = System.Drawing.Color.FromArgb(rgb[index]); //ustaw kolor chart.Series[seriesName].BorderWidth = grubosc; //ustaw grubość chart.Series[seriesName].BorderDashStyle = styl; //ustaw styl gl.ustawTypyWykresu(chart, rodzaj, series.Name); //ustaw typ wykresu } chart.Series[series.Name].Points.Clear(); //wyczyść wszystkie punkty wykresu connection.Open(); //otwórz połaczenie MySqlCommand cmd = new MySqlCommand(query, connection); //utworzrenie komendy, zapytanie SQL pobierane jest z parametrów cmd.Parameters.AddWithValue("@data_od", date1.Value.ToString("yyyy:MM:dd HH:mm:ss")); //ustawienie zakresu daty od cmd.Parameters.AddWithValue("@data_do", date2.Value.ToString("yyyy:MM:dd HH:mm:ss")); //ustawienie zakresu daty do cmd.Parameters.AddWithValue("@id_czujnika", comboBoxIdCzujnika.Text.NullString()); //ustawienie dla którego czujnika rdr = cmd.ExecuteReader(); //wykonaj //zczytuj dane i rysuj wykres while (rdr.Read()) { chart.Series[series.Name].Points.AddXY(rdr.GetDateTime("data").ToString("yyyy-MM-dd HH:mm:ss"), rdr.GetInt32("wartosc")); } connection.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } finally { if (rdr != null) { rdr.Close(); } connection.Close(); } } else if(razem_osobno == false) //jeżeli osobno { try { chart.Series.Remove(chart.Series[seriesName]); //usuń wykres chart.ChartAreas.Remove(chart.ChartAreas[ChartAreaName]); //wyczyść pole wykresu } catch { } try { Series series = new Series(); //utwórz nowy obiekt typu wyrkes ChartArea chartArea = new ChartArea(); //utwórz nowy obiekt typu przestrzeń dla wykresu if (chart.ChartAreas.IsUniqueName(ChartAreaName)) //sprawdz czy taka przestrzen { chartArea.Name = ChartAreaName; //nazwa przestrzeni chart.ChartAreas.Add(chartArea); //dodaj przestrzeń series.ChartArea = chartArea.Name; //przypisz wykres do przestrzeni //ustawienia właściwości przestrzeni chartArea.AxisX.Interval = interwalX; chartArea.AxisY.Interval = interwalY; chartArea.AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount; chartArea.AxisY.IntervalAutoMode = IntervalAutoMode.VariableCount; chartArea.AxisX.LabelStyle.Interval = interwalX; chartArea.AxisY.LabelStyle.Interval = interwalY; chartArea.AxisX.LabelStyle.IntervalOffset = 0D; chartArea.AxisX.LabelStyle.IntervalOffsetType = DateTimeIntervalType.Auto; chartArea.AxisX.LabelStyle.IntervalType = DateTimeIntervalType.Auto; chartArea.AxisY.IsStartedFromZero = false; chartArea.AxisX.IsStartedFromZero = false; } if (chart.Series.IsUniqueName(series.Name)) //sprawdz czy taki wykres istnieje { series.Name = seriesName; //pobier nazwę wykresu z parametrów chart.Series.Add(series); //dodaj wykres chart.Series[series.Name].Color = System.Drawing.Color.FromArgb(rgb[index]); //ustaw kolor chart.Series[seriesName].BorderWidth = grubosc; //ustaw grubosc chart.Series[seriesName].BorderDashStyle = styl; //ustaw styl gl.ustawTypyWykresu(chart, rodzaj, series.Name); //ustaw typ } chart.Series[series.Name].Points.Clear(); //czyść punkty chart.Series[seriesName].IsXValueIndexed = true; //zaczyna rysowanie wykresu od pierwszej daty nie od 0 connection.Open(); //otwórz połaczenie MySqlCommand cmd = new MySqlCommand(query, connection); //utworzrenie komendy, zapytanie SQL pobierane jest z parametrów cmd.Parameters.AddWithValue("@data_od", date1.Value.ToString("yyyy:MM:dd HH:mm:ss")); //ustawienie zakresu daty od cmd.Parameters.AddWithValue("@data_do", date2.Value.ToString("yyyy:MM:dd HH:mm:ss")); //ustawienie zakresu daty do cmd.Parameters.AddWithValue("@id_czujnika", comboBoxIdCzujnika.Text.NullString()); rdr = cmd.ExecuteReader(); //wykonaj //odczytuj dane i rysuj wykres while (rdr.Read()) { chart.Series[series.Name].Points.AddXY(rdr.GetDateTime("data").ToString("yyyy-MM-dd HH:mm:ss"), rdr.GetInt32("wartosc")); } connection.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } finally { if (rdr != null) { rdr.Close(); } connection.Close(); } } }