示例#1
0
        /*________________________________________________________________________

                 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();
                }
            }
        }
示例#2
0
        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();
                }
            }
        }