• 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 ?

VPS Starter Arubacloud
0 głosów
373 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 (255,440 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 189 wizyt
pytanie zadane 21 stycznia 2023 w C# przez marcin20a Początkujący (280 p.)
0 głosów
0 odpowiedzi 72 wizyt
pytanie zadane 18 stycznia 2023 w C# przez Mati336 Użytkownik (560 p.)
0 głosów
2 odpowiedzi 555 wizyt
pytanie zadane 26 września 2022 w JavaScript przez MarCiu Nowicjusz (160 p.)

92,845 zapytań

141,784 odpowiedzi

320,859 komentarzy

62,178 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...