当前位置:编程学习 > C#/ASP.NET >>

以下代码最后一句运行时候报错无效参数

 Graphics g = this.groupBox1.CreateGraphics();
            g.Clear(Color.SeaShell);
            Brush b = new SolidBrush(Color.Blue);
            Font f = new Font("Arial", 9, FontStyle.Regular);
            Pen p = new Pen(b);

            using (da = new SqlDataAdapter("select * from hjb where 温度='" + str + "' order by 温度", con))
            {
                ds = new DataSet();
                da.Fill(ds,"温度");
                int a = MaxValue - MinValue;
                
                for (double i = 0; i < a; i = i + 0.25)
                {
                    Point p1 = new Point();
                    p1.X = 0;
                    p1.Y = Convert.ToInt16(190 - 30 * (i * 4));
                    g.DrawString(Convert.ToString(8+i*2),f,b,p1);
                    Point p2 = new Point();
                    Point p3 = new Point();
                    p2.X = 30; p2.Y = Convert.ToInt16(200 - 30 * (i * 4));
                    p3.X = 360; p3.Y = Convert.ToInt16(200 - 30 * (i * 4));
                    g.DrawLine(p, p2,p3);
                }
                NUM = ds.Tables[0].Rows.Count;
                double[] velocity = new double[NUM];
                for (int C = 0; C < NUM; C++)
                {
                    velocity[C] = Convert.ToDouble(ds.Tables[0].Rows[C][2].ToString());
                    g.DrawString(Convert.ToDateTime(ds.Tables[0].Rows[C][1].ToString()).Day + "日", f, b, 30 * (C + 1) - 10, 210);
                    g.DrawLine(p, 30 * (C + 1), 200, 30 * (C + 1), 10); 
                }
               Point[] P = new Point[NUM];
               for (int i = 0; i < NUM; i++)
                {
                    P[i].X = 30 * (i + 1);
                    P[i].Y = Convert.ToInt32( 200 - (velocity[i]-8)*2*30);
                }
               Pen pp = new Pen(Color.Red, 2f);
                g.DrawLines(pp,P);
               } --------------------编程问答-------------------- 大侠们帮帮忙啊  小弟新手
--------------------编程问答-------------------- 参数无效,你就仔细看看MSDN啊 --------------------编程问答-------------------- 大侠我看了 但是没看明白  --------------------编程问答-------------------- Pen pen = new Pen(Color.Black, 3);
    Point[] points =
             {
                 new Point(10,  10),
                 new Point(10, 100),
                 new Point(200,  50),
                 new Point(250, 300)
             };
    e.Graphics.DrawLines(pen, points);
 单步看看数据 --------------------编程问答-------------------- NUM = ds.Tables[0].Rows.Count;
if(NUM <=0)
{
return;
}

确保NUM〉0不然后面的无意义 --------------------编程问答-------------------- 大侠 那个是大于0的啊  4楼的大侠 我没看明白是怎么回事 能具体说说嘛 
--------------------编程问答-------------------- 有知道的大侠吗 小弟很着急啊  谢谢楼上的大侠们了  --------------------编程问答-------------------- 设断点看Point[] P的值都是什么 --------------------编程问答-------------------- 8楼大侠 我把程序给你你能帮我看看吗 程序不是很长   我的qq是274816736 加一下可以吗 
谢谢了  --------------------编程问答-------------------- 大侠们 有帮我的吗 加我qq可以吗 我在线等待 
--------------------编程问答-------------------- 看五楼。
--------------------编程问答--------------------  private void DrowPic(string str)
        {
            int MaxValue = 0, MinValue = 0; int NUM;
            using (cmd = new SqlCommand("select Max(温度) from hjb'" + str + "'", con))
            {
                con.Open();
                MaxValue = Convert.ToInt32(cmd.ExecuteScalar());
                con.Close();
            }
            using (cmd = new SqlCommand("select Min(温度) from hjb '" + str + "'", con))
            {
                con.Open();
                MinValue = Convert.ToInt32(cmd.ExecuteScalar());
                con.Close();
            }
            Graphics g = this.groupBox1.CreateGraphics();
            g.Clear(Color.SeaShell);
            Brush b = new SolidBrush(Color.Blue);
            Font f = new Font("Arial", 9, FontStyle.Regular);
            Pen p = new Pen(b);

            using (da = new SqlDataAdapter("select * from hjb where 温度='" + str + "' order by 温度", con))
            {
                ds = new DataSet();
                da.Fill(ds,"温度");
                int a = MaxValue - MinValue;
                for (double i = 0; i < a; i = i + 0.25)
                {
                    Point p1 = new Point();
                    p1.X = 0;
                    p1.Y = Convert.ToInt32(190 - 30 * (i * 4));
                    g.DrawString(Convert.ToString(8+i*2),f,b,p1);
                    Point p2 = new Point();
                    Point p3 = new Point();
                    p2.X = 30; p2.Y = Convert.ToInt16(200 - 30 * (i * 4));
                    p3.X = 360; p3.Y = Convert.ToInt16(200 - 30 * (i * 4));
                    g.DrawLine(p, p2,p3);
                }
                NUM = ds.Tables[0].Rows.Count;
                double[] velocity = new double[NUM];
                NUM = ds.Tables[0].Rows.Count;
                if (NUM <= 0)
                {
                    return;
                }

                for (int C = 0; C < NUM; C++)
                {
                    velocity[C] = Convert.ToDouble(ds.Tables[0].Rows[C][2].ToString());
                    g.DrawString(Convert.ToDateTime(ds.Tables[0].Rows[C][1].ToString()).Day + "日", f, b, 30 * (C + 1) - 10, 210);
                    g.DrawLine(p, 30 * (C + 1), 200, 30 * (C + 1), 10); 
                }
               Point[] P = new Point[NUM];
               for (int i = 0; i < NUM; i++)
                {
                    P[i].X = 30 * (i + 1);
                    P[i].Y = Convert.ToInt32( 200 - (velocity[i]-8)*2*30);
                }
               Pen pp = new Pen(Color.Red, 2f);
                g.DrawLines(pp,P);
 这样还是不行 大侠们帮忙  谢谢 --------------------编程问答-------------------- 运行数来 一执行说是1附近有错误 大家帮帮忙啊
谢谢 
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,