【问题标题】:How to use CodeEngine.Framework.QueryBuilder.SelectQueryBuilder for the following query in asp.net c#?如何在 asp.net c# 中使用 CodeEngine.Framework.QueryBuilder.SelectQueryBuilder 进行以下查询?
【发布时间】:2014-09-08 12:44:41
【问题描述】:

我尝试使用 SelectQueryBuilder 进行以下查询,但它并没有达到应有的效果。

我想要一个这样的查询字符串

SELECT * FROM CustomerData WHERE (CustomerType = 'SPC3' OR CustomerType = 'SPC2' OR CustomerType = 'SPC5') AND Country='UK'

但我得到的是

SELECT * FROM CustomerData WHERE ((CustomerType = 'SPC3' OR CustomerType = 'SPC3') AND (CustomerType = 'SPC2' OR CustomerType = 'SPC2') AND (CustomerType = 'SPC5' OR CustomerType = 'SPC5')) AND country='UK'

我的代码是:

var query = new SelectQueryBuilder();
query.SelectFromTable("CustomerData");
query.SelectAllColumns();
query.AddWhere("CustomerType", Comparison.Equals,"UK");

foreach (var selectedCustomerType in selectedCustomerList)
{
WhereClause whereClause = query.AddWhere("CustomerType", Comparison.Equals, selectedCustomerType);
whereClause.AddClause(LogicOperator.Or, Comparison.Equals, selectedCustomerType);
}

String queryStatement = query.BuildQuery();

如何在语句本身中添加 LogicOperator.Or ?

谢谢。

【问题讨论】:

    标签: c# sql asp.net selectquerybuilder


    【解决方案1】:

    尝试使用AddWhere 方法重载。它有level 参数来决定条件嵌套到哪个级别

    我从来不需要尝试这些关卡,所以让我知道你遇到了什么,我会尽力提供更多帮助:)

    愉快的编码

    【讨论】:

      猜你喜欢
      • 2021-01-17
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多