C sharp - hacer reportes de graficas c# unirlas con mysql

   
Vista:

hacer reportes de graficas c# unirlas con mysql

Publicado por Angel Trejo (6 intervenciones) el 13/06/2010 01:48:12
hola expertos, tengo un programa hecho en c# donde me conecto a una base de datos echa en mysql, todo me funciona bien, pero ahora quiero hacer un reporte pero con grafica, sobre los datos que estan guardados en la base de datos,!! pero no se como hacerle, este es mi codigo de mi programa con la base de datos

using System;
using Gtk;
using System.Data;
using MySql.Data.MySqlClient;

public partial class MainWindow: Gtk.Window
{
//declaramos la variable de conexion conn como global para la clase
IDbConnection conn;

public MainWindow (): base (Gtk.WindowType.Toplevel)

{
Build ();
//establecemos los datos de conexion
conn = new MySqlConnection("Server=localhost;" +
"Database=sensores2;" +
"User ID=root;" +
"Password=trejo79;" +
"Pooling=false"
);

//ponemos titulos a las columnas del treeview
treeview.AppendColumn("Motor", new Gtk.CellRendererText(), "text", 0);
treeview.AppendColumn("evento", new Gtk.CellRendererText(), "text", 1);
treeview.AppendColumn("Fecha", new Gtk.CellRendererText(), "text", 2);

treeview_load();
}

//esta funcion cargara el treevien con los datos de la base de datos
protected void treeview_load()
{
//abrimos la conexion con la base de datos
conn.Open();

//con esto establecemos el modelo de datos del treeview con sus tipos de datos
Gtk.ListStore listUrls = new Gtk.ListStore (typeof(string), typeof(string), typeof(string));
treeview.Model = listUrls;

//creamos un comando sql vacio
IDbCommand comando = conn.CreateCommand();


//establecemos una cadena sql al comando que acabamos de crear
string strSQL = "SELECT motor, evento, fecha FROM sensor where motor='" + FILTRO.ActiveText +"';";
comando.CommandText = strSQL;

//ejecutamos el comando y guardamos en variable 'dr'
IDataReader dr = comando.ExecuteReader();


//cargamos el treeview con los datos fila por fila
while (dr.Read())
{
listUrls.AppendValues(dr["motor"].ToString(), dr["evento"].ToString(), dr["fecha"].ToString());
}
dr.Close();
conn.Close();
}

protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}

protected virtual void OnBtnAgregarClicked (object sender, System.EventArgs e)
{
//creamos el comando sql
IDbCommand comando = conn.CreateCommand();

//abrimos la conexion
conn.Open();

//creamos una cadena de texto con el comando sql y lo ejecutamos
string strSQL = "INSERT INTO sensor(motor,evento,fecha) VALUES ('" + txtMotor.ActiveText+ "','" + txtAccion.ActiveText + "','2010/06/11')";
comando.CommandText = strSQL;
comando.ExecuteNonQuery();
conn.Close();

treeview_load();
}

protected virtual void Actualiza (object sender, System.EventArgs e)
{
treeview_load();
}
}




la grafica la tengo hecha en zedgraph, y este es mi codigo

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using ZedGraph;

using MySql.Data.MySqlClient;




namespace ZGControlTest

{

public partial class Form1 : Form

{

IDbConnection conn;

public Form1()

{

InitializeComponent();



//establecemos los datos de conexion

conn = new MySqlConnection("Server=localhost;" +

"Database=favoritos;" +

"User ID=root;" +

"Password=trejo79;" +

"Pooling=false"

);

}

private void Form1_Load( object sender, EventArgs e )

{

// Get a reference to the GraphPane instance in the ZedGraphControl

GraphPane myPane = zg1.GraphPane;


myPane.Title.Text = "GRAFICA";

myPane.XAxis.Title.Text = "FECHA";

myPane.YAxis.Title.Text = "EVENTO";


PointPairList list = new PointPairList();

Random rand = new Random();


for ( int i = 0; i < 4; i++ )

{

double x = (double)i+1;

double y = rand.NextDouble() * 5;

double z = i / 4.0;

list.Add( x, y, z );

}


BarItem myCurve = myPane.AddBar( "GRAFICA", list, Color.Blue );

Color[] colors = { Color.Red, Color.Yellow, Color.Green, Color.Blue, Color.Purple };

myCurve.Bar.Fill = new Fill( colors );

myCurve.Bar.Fill.Type = FillType.GradientByZ;


myCurve.Bar.Fill.RangeMin = 0;

myCurve.Bar.Fill.RangeMax = 2;


myPane.Chart.Fill = new Fill( Color.White, Color.FromArgb( 220, 220, 255 ), 45 );

myPane.Fill = new Fill( Color.White, Color.FromArgb( 255, 255, 225 ), 45 );

// Tell ZedGraph to calculate the axis ranges

zg1.AxisChange();

}

}

}



Ahora mi pregunta nuevamente es: como puedo enlazar esta grafica con mi base de datos para que me grafique los datos que hay en la base de datos!!, por ahi lei algo sobre dataset pero la verdad no le entiendo muy bien espero alguien me pueda ayudar muchas gracias!!!!!!!!1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:hacer reportes de graficas c# unirlas con mysql

Publicado por fabiola (1 intervención) el 13/07/2010 01:49:38
mira yo creo q te puedo ver solo que necesito q te comuniques conmigo ok...!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar