Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [c#]creare grafici

  1. #1

    [c#]creare grafici

    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

  2. #2
    float totale = Convert.ToInt(cm.ExecuteScal());


    potresti riportare l'errore? non è che è un semplice problema di conversione tra tipi?

  3. #3
    Grazie per l'interessamento il problema di creare il grafico l'ho risolto ti posto il link:"http://www.aspitalia.com/articoli/aspplus/grafici.aspx"

    si puo' anche scaricare il codice!!!!
    In realtà adesso il problema e' un altro!!!

    Il metodo:
    codice:
    bitmap.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif);
    Non permette di inserire altri componenti html (button,textbox etc.)
    e non so come fare!!!!


  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Matrix_denny
    Grazie per l'interessamento il problema di creare il grafico l'ho risolto ti posto il link:"http://www.aspitalia.com/articoli/aspplus/grafici.aspx"

    si puo' anche scaricare il codice!!!!
    In realtà adesso il problema e' un altro!!!

    Il metodo:
    codice:
    bitmap.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif);
    Non permette di inserire altri componenti html (button,textbox etc.)
    e non so come fare!!!!

    La pagina a.aspx restituisce una immagine del grafico

    La pagina b.aspx richiama il grafico con
    <img src="a.aspx"...
    Pietro

  5. #5
    Non è quello che cercavo!!!!
    A me serve richiamarla nella stessa pagina

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Matrix_denny
    Non è quello che cercavo!!!!
    A me serve richiamarla nella stessa pagina
    pagina b.aspx --> fa da grafico e da contenitore

    la pagina b.aspx è una pagina normale che ha immagini del tipo
    <img src="b.aspx?variabile=valore"....

    quando viene b.aspx viene richiamata da una richiesta http, ad esempio, dalla pagina a.htm, b.aspx subisce due richieste http, la prima dalla pagina chiamante, la seconda dal tag <img.
    Perciò, nell'evento load, controlli la variabile querystring ricevuta: se e solo se è valorizzata restituisci il flusso dati immagine, altrimenti restituisci la pagina normale.

    Pietro

  7. #7
    Effettivamente è come dicevi tu !!!!!!!!!
    E' proprio quello che cercavo!!!!

    Un ultima curiosità !!!!

    Facendo questo tipo di discorso quanto sovraccarico il server visto che dovranno accedervi in media 300 persone???
    E' ancora buona come soluzione ???

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Matrix_denny
    Un ultima curiosità !!!!

    Facendo questo tipo di discorso quanto sovraccarico il server visto che dovranno accedervi in media 300 persone???
    E' ancora buona come soluzione ???
    Boh! Direi che: Se il server va a fuoco non è una buona soluzione

    Pietro

  9. #9
    Direi come faccio a testarlo prima di farlo usare a 300 persone e quindi rischiare di farlo andare a fuoco???

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.