在vb.net中检索数据的SQL命令

在vb.net中检索数据的SQL命令,sql,vb.net,Sql,Vb.net,我有一个带有{id,Place,MD,KVC}的tableadapter,我想根据位置检索数据 select [Id], [MD], [KVC] from tbl where [place] = ? 我有不同的地方,例如:加拿大、法国、德国、英国……等等 我想得到的是与加拿大无关的数据。 这意味着所有与法国、德国和英国等相关的数据 如何重新强调SQL命令或查询以实现这一点 使用不等于 并将England作为第一个参数的值传递,将Germany作为第二个参数的值传递。添加到@Igor的答案

我有一个带有{id,Place,MD,KVC}的tableadapter,我想根据位置检索数据

select [Id], [MD], [KVC] 
from tbl 
where [place] = ? 
我有不同的地方,例如:加拿大、法国、德国、英国……等等

我想得到的是与加拿大无关的数据。 这意味着所有与法国、德国和英国等相关的数据

如何重新强调SQL命令或查询以实现这一点

使用不等于


并将
England
作为第一个参数的值传递,将
Germany
作为第二个参数的值传递。

添加到@Igor的答案中,您可以通过以下方式概括查询任意数量的参数:


[place]?
使用不等于
如果我想检索英格兰和德国,请从[place]所在的tbl中选择[Id]、[MD]、[KVC]?和[地点]?这行得通吗?使用
WHERE place IN(?,)
?:)不是更好吗@他们会产生相同的结果,所以结果是等价的,这归结为偏好的问题。如果只有两个值需要过滤,我更喜欢上面的值。如果值的数量增长到超过此值,或者值的数量可能会根据用户选择的内容而变化,那么我的首选项也将是中的
select [Id],[MD],[KVC] from tbl where [place]<>?
select [Id],[MD],[KVC] from tbl where [place]=? OR [place]=?
SELECT Id, MD, KVC
FROM   tbl 
WHERE  place IN (?, ?, ?);