错误:在预期条件的上下文中指定的非布尔类型的表达式
Posted
技术标签:
【中文标题】错误:在预期条件的上下文中指定的非布尔类型的表达式【英文标题】:error: an expression of non-boolean type specified in a context where condition is expected 【发布时间】:2013-11-04 12:58:21 【问题描述】:得到错误:在上下文中指定的非布尔类型的表达式在下面的语法中需要条件。
string Query = "SELECT User.First, User.Last,
Details.Address1, Details.Address2,
Details.County, Details.Country
FROM User
INNER JOIN Details
on User.Details_DetailsID
WHERE User.Last ='" + cbUsers.SelectedItem.ToString() + "'";
【问题讨论】:
【参考方案1】:在您的INNER JOIN
中,它期望来自比较运算符的布尔结果。
你需要这样说:
ON column = column
也许是ON User.Details_DetailsID = Details.DetailsId
?
【讨论】:
【参考方案2】:我想你忘了把相等参数放在内部连接条件中。 请参考以下字符串:
string Query = "SELECT User.First, User.Last,
Details.Address1, Details.Address2,
Details.County, Details.Country
FROM User
INNER JOIN Details
on User.Details_DetailsID = Details.Details_DetailsID
WHERE User.Last ='" + cbUsers.SelectedItem.ToString() + "'";
或者您应该检查参数数据类型,并在使用 typecase 的条件时放置 case。
【讨论】:
以上是关于错误:在预期条件的上下文中指定的非布尔类型的表达式的主要内容,如果未能解决你的问题,请参考以下文章
SQLServer 空间查询返回错误在预期条件的上下文中指定的非布尔类型的表达式,靠近 ')'
SQL Server - 在“返回”附近的预期条件的上下文中指定的非布尔类型的表达式