¿Cómo leer datos de SQL2005 y dibujar un gráfico en vb?
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 p>
//
}
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 p>;
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); p>
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];