直接上代码:using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;
using System.Drawing.Imaging;
using System.Data.SqlClient;namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=bingtu;Integrated Security=True");
            conn.Open();
            SqlCommand cmd = new SqlCommand("select YF,SL from pie order by YF desc",conn);
            SqlDataReader dr = null;
            dr = cmd.ExecuteReader();            int[] iXiaoSH=new int[12];
            string[] sMoth=new string[12];            int iIndex = 0;            try
            {
                while (dr.Read())
                {
                    iXiaoSH[iIndex] = (int)dr["SL"];
                    sMoth[iIndex] = dr["YF"].ToString() + "月";
                    iIndex++;
                }
            }
            catch (Exception)
            {                throw;
            }
            finally
            {
                dr.Close();
                conn.Close();
            }            Bitmap bm = new Bitmap(600, 300);
            Graphics g;
            g = Graphics.FromImage(bm);
            g.Clear(Color.Black);
            g.DrawString("饼图",new Font("宋体",16),Brushes.Blue,new Point(5,5));            Point myRec=new Point(515,30);
            Point myDec=new Point(540,30);
            Point myTxt=new Point(565,30);
            g.DrawString("单位:万套", new Font("宋体", 9), Brushes.Red, new Point(515, 12));            for(int i=0;i<sMoth.Length;i++)
            {
                g.FillRectangle(new SolidBrush(GetColor(i)),myRec.X,myRec.Y,20,10);
                g.DrawRectangle(Pens.Black,myRec.X,myRec.Y,20,10);
                g.DrawString(sMoth[i].ToString(),new Font("宋体",9),Brushes.Black,myDec);
                g.DrawString(iXiaoSH[i].ToString(),new Font("宋体",9),Brushes.Black,myTxt);
                myDec.Y+=15;
                myRec.Y+=15;
                myTxt.Y+=15;
            }
            int iTatal=0;
            float fCurrentAngle = 0;
            float fStartAngle = 0;
            for (int i = 0; i < iXiaoSH.Length; i++)
            {
                iTatal = iTatal + iXiaoSH[i];
            }
            for (int i = 0; i < iXiaoSH.Length; i++)
            {
                if (i == iXiaoSH.Length - 1)
                {
                    fCurrentAngle = 360 - fStartAngle;
                }
                else
                {
                    int iTemp = iXiaoSH[i];
                    fCurrentAngle = (iTemp * 360) / iTatal;
                }
                g.DrawPie(Pens.Black, 100, 40, 250, 250, fStartAngle, fCurrentAngle);
                g.FillPie(new SolidBrush(GetColor(i)), 100, 40, 250, 250, fStartAngle, fCurrentAngle);
                fStartAngle += fCurrentAngle;
            }
            Pen p = new Pen(Color.Black, 2);
            g.DrawRectangle(p, 1, 1, 598, 298); 
            bm.Save(Response.OutputStream, ImageFormat.Jpeg);
        }        private Color GetColor(int itemIndex)
        {
            Color mycolor;
            int i = itemIndex;
            switch (i)
            {
                case 0:
                    mycolor=Color.Green;
                    return mycolor;
                case 1:
                    mycolor=Color.Red;
                    return mycolor;
                case 2:
                    mycolor=Color.Yellow;
                    return mycolor;
                case 3:
                    mycolor=Color.Blue;
                    return mycolor;
                case 4:
                    mycolor=Color.Orange;
                    return mycolor;
                case 5:
                    mycolor=Color.Aqua;
                    return mycolor;
                case 6:
                    mycolor=Color.SkyBlue;
                    return mycolor;
                case 7:
                    mycolor=Color.DeepPink;
                    return mycolor;
                case 8:
                    mycolor=Color.Azure;
                    return mycolor;
                case 9:
                    mycolor=Color.Brown;
                    return mycolor;
                case 10:
                    mycolor=Color.Pink;
                    return mycolor;
                case 11:
                    mycolor=Color.BurlyWood;
                    return mycolor;
                case 12:
                    mycolor=Color.Chartreuse;
                    return mycolor;
                default:
                    mycolor=Color.Pink;
                    return mycolor;
            }
        }
    }
}数据库测试正常,能够读取要用到的两个数组数据,没有报错,但运行显示的全是乱码,没有饼图!!