关于图形和sql问题的起始点的问题[英] Question about start point for graph and sql question

问题描述

对于图表的问题,我从我的数据库中选择了数据,轴 Y 的值是关于产品数量的值,轴 X 是 ID_Product 的值

但是当我生成条形图时看起来像这张图片

http://image.ohozaa.com/view/86726[^]

我想将我的图表设置为从 X 轴开始到值 Y 轴,就像这个图表我尝试了很多命令,但我无法解决这个问题

http://image.ohozaa.com/view/86745[^]

这是我的代码

string sql2 = "从 Product 中选择 NAME_Product 其中 Product.ID_Product = '" + idtoselect + "' ";SqlCommand testcommand2 = new SqlCommand(sql2, conn);rdr = testcommand2.ExecuteReader();if (rdr.Read()){test = rdr["NAME_Product"].ToString();}rdr.Close();string sql = "SELECT ID_Product,QUANTITY_Product FROM Product where Product.NAME_Product = @ID";da = new SqlDataAdapter(sql, conn);da.SelectCommand.Parameters.AddWithValue("@ID", test);datatb = new DataTable();da.Fill(datatb);chart1.Series.Add(test);for (int i = 0; i< datatb.Rows.Count; i++){chart1.Series[test].Points.AddXY(datatb.Rows[i].ItemArray.GetValue(1), datatb.Rows[i].ItemArray.GetValue(0));}chart1.Series[test].ChartArea = "ChartArea1";chart1.Series[test].BorderWidth = 4;chart1.Series[测试].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar;chart1.Series[test].YValueMembers = "QUANTITY_Product";chart1.Series[test].XValueMember = "ID_Product";chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Angle = 45;chart1.DataBind();


还有关于sql代码的问题.我对 sql 代码有疑问,我需要从 Otder1 表和产品表中的 ID_Product 中选择 NAME_Product,但我有 sqlerror 告诉我我不能这样做,因为我已经按 ID_Product 分组并且不能选择名称_产品

这是我的sql代码
<pre lang="SQL">
SELECT sum(QUANTITY_Order) AS quan1,Product.NAME_Product AS test1 
FROM Order1,Product 
where Order1.ID_Product = Product.ID_Product AND Order1.ID_Product = @ID AND DATE_Order BETWEEN @D1 AND @D2 GROUP BY Order1.ID_Product



最后一个问题,我有简单的 sql 代码来从产品表中选择数量产品和名称产品,当我生成时没有出现错误,但我的图表没有任何数据,但是当我从 NAME_Product 更改为 ID_Product 数据时显示出来

string sql = "SELECT NAME_Product,QUANTITY_Product FROM Product where Product.NAME_Product = @ID";da = new SqlDataAdapter(sql, conn);da.SelectCommand.Parameters.AddWithValue("@ID", test);datatb = new DataTable();da.Fill(datatb);da.Fill(datatb2);chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = ;chart1.Series.Add(test);for (int i = 0; i< datatb.Rows.Count; i++){chart1.Series[test].Points.AddXY(datatb.Rows[i].ItemArray.GetValue(1), datatb.Rows[i].ItemArray.GetValue(0));}chart1.Series[test].ChartArea = "ChartArea1";chart1.Series[test].BorderWidth = 4;chart1.Series[测试].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar;chart1.Series[test].YValueMembers = "QUANTITY_Product";chart1.Series[test].XValueMember = "NAME_Product";chart1.Series[测试].;


很抱歉,如果我输入错误了,我的英语不好,我也是 c# 的新手

推荐答案

你好朋友,

让你的图表类型 BAR 到 COLUMN 绝对你会实现你想要的任何东西:

chart1.Series[test].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column

你好 VijayChauhan123

谢谢 .我已经解决了第一个问题.

非常感谢,我有两个问题无法解决

本文地址:https://www.itbaoku.cn/post/1394844.html