Недопустимый символ-заполнитель в C# для SQL-запроса

#c# #sql #sql-server #sql-parser

Вопрос:

Я пытался выполнить запрос. Но почему-то я получаю ошибку «Недопустимый символ-заполнитель».

 public static DataTable GetOrderItem(TransactionContext tc, int challanID)
{
    string sql = string.Empty;

    sql = SQLParser.MakeSQL(@"Select oo.CashMemoNo CashMemoNo, o.Name OutletName,  o.Code OutletCode, o.Address Address, oo.ExpectedDeliveryDate ExpectedDeliveryDate,
                            '-', s.code SKUCode, s.Name SKUName, (ooi.IssuedQty /s.ConversionValue) QuantityCtn, (ooi.IssuedQty %  s.ConversionValue) Quantity,
                            ooi.FreeQty FreeQty, 'Ctn-Pcs', ooi.TradePrice TradePrice, 0, 15, 0, 'post', '-', 0, 'skuType', ooi.BatchNo BatchNo,
                            oo.SectionID section, oo.DSRID sso, oo.challanid challanNo
                            from outletorderitem ooi 
                            inner join outletorder oo on oo.outletorderid= ooi.outletorderid
                            inner join outlet o on o.outletid= oo.outletid 
                            inner join SKU s on s.SKUID= ooi.SKUID 
                            where oo.challanid = %n and ooi.FreeQty > 0 ", challanID);

    return tc.ExecuteDataSet(sql).Tables[0];
}
 

Комментарии:

1. Я предполагаю, что это будет эта часть (ooi.IssuedQty % s.ConversionValue)

2. Или where oo.challanid = %n

3. Не зная, что SQLParser.MakeSQL на самом деле, вам, вероятно, придется использовать %% в своем запросе, когда вы буквально хотите, чтобы % в результирующем запросе был знак.

4. Каков результат этого SQLParser.MakeSQL? Это правильный sql?