• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wykres z bazy mysql - błąd ?

Object Storage Arubacloud
0 głosów
347 wizyt
pytanie zadane 5 grudnia 2022 w C# przez Mati336 Użytkownik (560 p.)

Witam! Potrzebuje aby na podstawie danych z bazy program narysował mi wykres(chart). Kierowałem się jednym z poradników na YT, ale nie rysuje mi wykresu tylko mam komunikat "Dokument nie zawiera żadnych stron"

Kod wygląda następująco:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace charts3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        static string Myconnectionstring = "Server=localhost;Port=3306;database=mojabaza;Uid=root;Pwd=''";
        MySqlConnection connection = new MySqlConnection(Myconnectionstring);

        private void cbYear_SelectedIndexChanged(object sender, EventArgs e)
        {
            chart1.Series["dane1"].Points.Clear();
            chart1.Series["dane2"].Points.Clear();
            chart();
        }

        public void chart()
        {
            try
            {
                MySqlCommand cmd = connection.CreateCommand();
                cmd.CommandText = "SELECT dane1, dane2 FROM param where YEAR = '"+cbYear.Text.ToString()+"'";
                MySqlDataReader reader;

                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    chart1.Series["dane1"].Points.AddXY(reader.GetInt32("dane1"), reader.GetInt32("dane1"));
                    chart1.Series["dane2"].Points.AddXY(reader.GetInt32("dane2"), reader.GetInt32("dane2"));

                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                    connection.Close();
            }
        }

    }
}

czy rzuca się Wam w oczy jakiś błąd ?

nie jestem pewny czy to jest ok:

reader = cmd.ExecuteReader();

z baza połączenie jest.

 

1 odpowiedź

0 głosów
odpowiedź 5 grudnia 2022 przez VBService Ekspert (253,340 p.)
edycja 5 grudnia 2022 przez VBService

IMO, masz problem z zapytaniem sql jesteś pewien, że jest prawidłowe, masz kolumnę YEAR w tabeli param.

Jeżeli na powyższe pytanie odpowiedź jest na tak, to sprawdź czy zwrócony format daty jest poprany (akceptowalny przez ustawienie formatu w kolumnie YEAR) np.

using System.Diagnostics; // Dodaj do projektu

i sprawdź

//MySqlCommand cmd = connection.CreateCommand();
String sql = "SELECT dane1, dane2 FROM param WHERE YEAR = '"+cbYear.Text.ToString()+"'";
Debug.WriteLine(sql);
//cmd.CommandText = "SELECT dane1, dane2 FROM param where YEAR = '"+cbYear.Text.ToString()+"'";

 

np. możesz z poziomu linii poleceń połączyć się z bazą i sprawdzić czy utworzone polecenie sql zwraca prawidłowy wynik.

1
komentarz 5 grudnia 2022 przez Mati336 Użytkownik (560 p.)

Dzięki Wielkie za pomoc i zaangażowanie, lecz powód był bardzo blachy...

usunąłem lub zapomniałem o 

connection.Open();

:)

Podobne pytania

0 głosów
0 odpowiedzi 156 wizyt
pytanie zadane 21 stycznia 2023 w C# przez marcin20a Początkujący (280 p.)
0 głosów
0 odpowiedzi 65 wizyt
pytanie zadane 18 stycznia 2023 w C# przez Mati336 Użytkownik (560 p.)
0 głosów
2 odpowiedzi 413 wizyt
pytanie zadane 26 września 2022 w JavaScript przez MarCiu Nowicjusz (160 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...