c# - 绘制非顺序数据 C# 和 mysql

标签 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 它的下一部分,如果用户选择 May,那么 August 将在 2007-5-01 和 2007-5-30 AND 2007-8-01 和 2007-8-30 之间???

最佳答案

编辑: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 + ")";

关于c# - 绘制非顺序数据 C# 和 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17729082/

相关文章:

c# - Canvas 动画 - 不在循环中工作

c# - 当我显式关闭 Stream 时,关闭 StreamReader(或 StreamWriter)是否有好处?

javascript - 无法使用 mysql 包从我的 node.js 应用程序连接到数据库

MySQL 更新内容(如果存在)

python - 查找循环网络中的边x python

javascript - 在javascript中,测试深度嵌套在对象图中的属性?

algorithm - 如何将无向图转换为没有循环的有向图(Directed acyclic graph)

c# - Entity Framework ,查询中未映射属性

mysql - 为什么 MySQL ENCRYPT() 给出相同的值?

c# - 合并两个 XML 文件并添加缺少的标签和属性