绘制非顺序数据C#和mysql

时间:2013-07-18 16:27:53

标签: c# mysql graph

我试图在图表(Winforms / C#)中显示一列中的总量与时间单位(在本例中为月份) - 因此它将是一个量与时间的关系图。问题在于用户希望自由让我们说 - 选择1月和6月的总数并将它们在一个图表中进行比较(因此1月份的总数将表示为6月份总数栏旁边的一个栏)。我已经在列表中捕获了选定的月份(也有,我对for的图形控件),但我真正陷入困境的是构建mysql语句及其类似的东西

selectdataforGraph = "SELECT SUM(Amount_Net) AS Total FROM testingproject.incomeinformation WHERE date";

foreach (int month in selectedMonth) {
   selectdataforGraph +=  "between '" + selected_year+ "-" + month + 
   "'-1 AND '" + selected_year + "-"+month+ "-31' AND";
}

我知道它有一些空间缺失和一些引号问题 - 已经运行了查询,我想尽可能多,但我不认为中间会起作用,因为我不知道如何AND下一部分如果用户选择5月那么8月将是2007-5-01和2007-5-30和2007-8-01和2007-8-30 ???

1 个答案:

答案 0 :(得分:0)

编辑:似乎MySQL不是你的数据库......

绝对使用参数化查询!但是......要适应你拥有的东西,这样你就可以快速测试......

我想我会使用DATEPART而不是BETWEEN ......

    var selectdataforGraph = "SELECT SUM(Amount_Net) AS Total FROM testingproject.incomeinformation WHERE ";
    var monthList = string.Join(",", selectedMonth);
    selectdataforGraph += " YEAR(date) = " + selected_year;
    selectdataforGraph += " AND MONTH(date) in (" + monthList + ")";