Red de conocimiento informático - Material del sitio web - ¿Cómo leer datos de SQL2005 y dibujar un gráfico en vb?

¿Cómo leer datos de SQL2005 y dibujar un gráfico en vb?

>>p>

Usar System.Web.UI.WebControls.WebParts;

Usar System.Web.UI.HtmlControls.WebParts

/**//// lt;summarygt;

// Descripción resumida de DrawClass

// lt;/summarygt;

clase pública DrawClass

.. .{

public DrawClass()

...{

//

// TODO: Agregar constructor aquí Lógica

//

}

sorteo público de MemoryStream (DataSet ds, int Tnum)

...{

//obtiene el número de registros

int count = ds.Tables[0].Rows.Count

//nota el ancho del gráfico;

int wd = 80 20 * (count - 1

Establezca el ancho mínimo en 800;

if ( wd lt; 800) wd = 800;

//Generar pares de mapas de bits

Bitmap img = new Bitmap(wd, 400);

//Generar pares de dibujos

Graphics g = Graphics.FromImage(img);

//Definir lápiz negro

Pen Bp = new Pen( Color. Black);

// Definir el bolígrafo rojo

Pen Rp = new Pen(Color.Red for (int i = 0; i lt; count; i )< / p>

...{

g.DrawLine(Sp, 40 20 * i, 60, 40 20 * i, 360);

}

//Dibuja la línea de tiempo Coordenada; etiqueta

for (int i = 0; i lt; count; i = 2)

...{

string st = Convert.ToDateTime(ds.Tables[ 0 ].Rows[i]["sendtime"]).ToString("hh: mm");

g.DrawString(st, font, brush, 30 20 * i. 370);

p>

}

// Dibujar línea de coordenadas horizontal

para (int i = 0; i lt; 10; i)

... {

g.DrawLine(Sp, 40, 60 30 * i, 40 20 * (cuenta - 1), 60 30 * i

int s =); 2500 - 50 *yo*

5;

//Dibujar y enviar etiqueta de coordenadas del eje

g.DrawString(s.ToString)DrawString(s. ToString (), fuente, pincel, 10, 60 30 * i

}

//Dibuja el eje vertical

gramo .DrawLine(Bp, 40 * i);

g.DrawLine(Bp, 40, 55, 40, 360); p>

g.DrawLine(Bp, 40, 360, 45 20 * (cuenta - 1),

// definir el punto de inflexión de la curva

Point[] p = new Point[count];

for (int i = 0; i lt; count; i)

. .Rows [i]["sendmum"]) / 5 * 3 / 5;

}

//Dibuja la curva de envío

DrawLines( Rp, p );

for (int i = 0; i lt; count; i )

...{

//Dibuja el contenido de envío del punto de registro de envío

g.DrawString(ds.Tables[0].Rows[i]["sendmum"].ToString(), font, Bluebrush, p[i].X, p[ i].Y - 10);

Dibujar la posición de envío del punto de grabación

g.DrawRectangle(Rp, p[i].X - 1. p[i].DrawString("Send Time", Tfont, brush, 40, 385);

// Guarda la imagen dibujada

Flujo MemoryStream = new MemoryStream() ;

img.Save(flujo, ImageFormat.Jpeg);

flujo de retorno;

}

}

Luego llame a la salida en el archivo de la página

DrawClass dc = new DrawClass();

OracleConnection conn = new OracleConnection(con);

string sql = "seleccionar * de una prueba";

OracleDataAdapter da = new OracleDataAdapter(sql, conn);

DataSet ds = new DataSet(); p>

da.Fill (ds, "atest");

MemoryStream ss = dc.draw(ds

, 6);

Response.ContentType = "imagen/jpeg";

Response.BinaryWrite(ss.BinaryWrite)(BinaryWrite(ss.ToArray());

Hay otra forma de enviar la imagen a la página

FileStream fs = new FileStream(@"c:Curve.jpg", FileMode.Open, FileAccess.Read);

byte[] mydata = nuevo byte[fs.Length];