当前位置: 首页 > 面试题库 >

EntityDataSource VB.NET中的where子句

姬国安
2023-03-14
问题内容

我的网页上有一个绑定到gridview的entitydatasource。

在后面的代码中,我可以使用entitydatasource的WHERE语句过滤并向网格视图显示所需的内容。我的where语句之一使用大的OR语句进行过滤,但是逻辑上比较多的IN语句不起作用。

例如,我有雇员1-9,并且我想选择雇员1、4和7。在SQL中,我可以通过以下两种方式:

1。

SELECT * FROM table WHERE EmployeeID = 1 OR EmployeeID = 4 OR EmployeeID = 7

2。

SELECT * FROM table WHERE EmployeeID IN (1,4,7)

这两个语句在SQL中对我来说都很好

使用EF时,只有选项1才能选择这些特定员工。为了创建此语句,我有一个for循环,该循环创建一个whereString,最终看起来像这样:

whereString = "it.EmployeeID = 1 OR it.EmployeeID = 4 OR it.EmployeeID = 7"
EntityDataSource.Where = whereString

如果我将whereString设置为此

whereString = "it.EmployeeID IN (1,4,7)"

这没用。为什么这个模仿SQL代码中使用的格式的where子句不起作用?


问题答案:

EntityDataSource的“ IN子句”。需要大括号而不是括号:

whereString = "it.EmployeeID IN {1,4,7}"


 类似资料:
  • 问题内容: 我最近才刚开始使用SQLAlchemy,但仍无法解决某些概念。 归结为基本元素,我有两个这样的表(通过Flask-SQLAlchemy): 我将如何查询用户列表及其最新帖子(不包括无帖子的用户)。如果我使用的是SQL,则可以执行以下操作: 因此,我确切地知道“期望的” SQL可以达到我想要的效果,但是不知道如何在SQLAlchemy中“正确地”表达它。 编辑:如果很重要,我使用的是SQ

  • 问题内容: 我有一个这样的表“ bla”: 如果我做SQL查询 我只得到ID为2的记录。我没有ID为3的记录,其中fk为空。我以为NULL!=4。看来这是错误的。 为什么会这样呢? 问题答案: 不等于任何东西。您需要明确接受null: 有关处理的更多信息,请参见使用NULL。

  • 问题内容: 如果列匹配,是否有很好的方法在SQL中表示选择特定的行,否则选择更通用的行?就像是: 我只希望它返回一个特定的记录(如果存在),否则,如果找不到特定的列匹配项,则返回通用的“ ALL”记录。看起来COALESCE与我正在寻找的相似,但我不知道在语法上如何工作。 问题答案: @Blorgbeard答案(使用前1个和排序依据)可能是最好的方法,但只是有所不同,您还可以使用子查询,但不存在:

  • 我是JPA的新手。使用where子句构建select查询。我需要从表Contacts中选择所有等于字符串名称值的ContactName。 以下是执行我的项目时出现的错误:java.lang.IllegalArgumentException:无法根据在org.hibernate.jpa.criteria.path.abstractPathimpl.unknownatAttribute(abstrac

  • 问题内容: 我在某处看到此查询- 什么是 “N” 是什么意思?我不确定这是否仅对SQL Server有效。 问题答案: N代表“国家字符”,它表示字符串的内容为Unicode。 只要碰到专有名称或其他可能包含默认ASCII字符集以外的字符的实体,就应该使用Unicode(/ )。如果不使用前缀将此类字符串括起来,则会丢失数据。例如: 结果: 您还应确保在您或其他子句中对列使用前缀。不使用前缀时,由

  • 问题内容: 我有一个查询: 我只想从表中选择周期和年份等于的行: 我知道最简单的方法是使用连接,但是问题是-在应用程序中,我只能在后面添加一个子句 因此,解决方案应该是: 那可能吗? 编辑: 结果应与以下相同: 问题答案: 您可以为条件使用多个列: 但是戈登的解决方案可能更快。