我正在尝试使用C#在Visual Studio 2017的数据集设计器中设置查询。
c# - 在设计器中设置mySQL参数查询-LMLPHP
我使用WAMP作为我的数据库服务器,当我从WAMP中执行以下操作时,我得到了预期的结果。

SELECT * FROM `product` NATURAL JOIN `contractproduct` WHERE ContractID = 1001

事实上,如果我在Visual Studio的设计器中执行完全相同的行,我将得到相同的结果。问题是,当我尝试按如下方式创建查询时:
SELECT * FROM `product` NATURAL JOIN `contractproduct` WHERE ContractID =@ID

VS给了我一个错误:“SQL文本不能在网格窗格和图表窗格中表示。”即使我在其他查询中使用了=@VAR语法。首先,SQL并不是我的强项,但我真的不明白为什么它能在设计器的引擎中工作,但随后我就抱怨了。如有任何帮助,我们将不胜感激。
编辑:答案是使用内部联接:
SELECT *
FROM product p
INNER JOIN contractproduct c ON p.ProductID = c.ProductID
WHERE c.ContractID =@id

最佳答案

这个问题的答案是使用内部连接。

SELECT *
FROM product p
INNER JOIN contractproduct c ON p.ProductID = c.ProductID
WHERE c.ContractID =@id

这在Visual Studio中工作得很好,正如上面的注释中所提到的,这是比自然连接更好的实践。

关于c# - 在设计器中设置mySQL参数查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48654375/

10-08 20:41