Salve a tutti e' da un po' che cerco di creare un grafico con connessione al db ma senza fortuna vi posto il codice:
codice:
private void Page_Load(object sender, System.EventArgs e)
{
const int width = 200, height = 200;
Bitmap bitmap = new Bitmap(width, height);
Graphics graphics = Graphics.FromImage(bitmap);
//Disegna un rettangolo delle dimensioni dell'immagine riempendolo di bianco
graphics.FillRectangle(new SolidBrush(Color.Aqua), 0, 0, width, height);
//Istanzia la connessione al db
MySqlConnection conn = new MySqlConnection("Database=azdb;Data Source=localhost;User Id=root;password=");
//Istanzia gli oggetti per eseguire la query
conn.Open();
MySqlCommand cm = new MySqlCommand("SELECT SUM(qta) FROM torta", conn);
float totale = Convert.ToInt(cm.ExecuteScal());
cm.CommandText = "SELECT descrizione, qta, colore FROM torta";
MySqlDataReader rd = cm.ExecuteReader();
float AngoloIniziale = 0;
//Per ogni record calcola l'angolo della fetta e la disegna
while (rd.Read())
{
float AngoloCirc = 360 * Convert.ToSingle(rd["QTA"]) / totale;
graphics.FillPie(new SolidBrush(ColorTranslator.FromHtml(Convert.ToString(rd["COLORE"]))), 0, 0, width, height, AngoloIniziale, AngoloCirc);
AngoloIniziale += AngoloCirc;
}
// Inserire qui il codice utente necessario per inizializzare la pagina.
}
Da un errore di compilazione:float totale = Convert.ToInt(cm.ExecuteScal());
ho provato a mettere un numero ma non visualizza niente nel browser