C# SqlBuilder -- How to use Convert dynamically

361 Views Asked by At

I have a SQL query:

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

Which I need to write Dynamically in C# Sqlbuilder. So far I have:

            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);

I'm really new to this so I could really use any kind of help or documentation link. (Couldn't find it myself.)

-- Small edit, what I'm missing is: Convert and Sum.


Edit Apparently the SqlBuilder we're using is custom made, so disregard this question.

1

There are 1 best solutions below

0
On

You don't need to make it unnecessary complicated. You can write your query as it is in SqlCommand constructor.

SqlCommand cmd=new SqlCommand("your query", connetionObj); cmd.ExecuteScalar();