C#SqlBuilder - 如何使用动态转换

时间:2016-08-08 11:52:24

标签: c# sql sqlbuilder

我有一个SQL查询:

SELECT 
      relationId
    , CONVERT(date, receivedDate, 10) AS [Date]
    , matDesc
    , SUM(amount)
    , SKU
FROM 
    tableName
WHERE 
    relationId = 1000
GROUP BY 
      convert(date, receivedDate, 10)
    , relationId
    , matDesc
    , SKU

我需要在C#Sqlbuilder中动态编写。到目前为止,我有:

            SelectQuery qry = new SelectQuery("DB");
        qry.WithNoLock = true;
        foreach (ExportColumnDefinition exportColumnDef in GetExportColumnDefinitions())
        {
            qry.SelectColumn(exportColumnDef.DataFieldName);
        }

        qry.Criteria.AddExpressionCriterium("relationId= " + esetting.relationId);
        qry.Criteria.AddColumnCriterium("receivedDate", Operator.GreaterThanOrEqualTo, DateTime.Now.AddDays(-30));
        qry.Criteria.AddColumnCriterium("receivedDate", Operator.LessThanOrEqualTo, DateTime.Now);
        qry.AddOrderByColumn("receivedDate", SortOrder.Descending);

我对此非常陌生,所以我可以使用任何类型的帮助或文档链接。 (自己找不到。)

- 小编辑,我缺少的是: 转换和求和。

修改 显然我们使用的SqlBuilder是定制的,所以忽略这个问题。

1 个答案:

答案 0 :(得分:0)

你不需要让它变得多么复杂。您可以在SqlCommand构造函数中编写查询。

SqlCommand cmd = new SqlCommand("您的查询",connetionObj); cmd.ExecuteScalar();