c# - 在设计器中设置 mySQL 参数查询

标签 c# mysql sql visual-studio wampserver

我正在尝试使用 C# 在 Visual Studio 2017 的数据集设计器中设置查询。

Tables

我使用 WAMP 作为我的数据库服务器,当我从 wamp 中执行以下命令时,我得到了预期的结果。

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

事实上,如果我从 Visual Studio 的设计器中执行完全相同的行,我会得到相同的结果。问题是当我尝试创建如下查询时:

SELECT * FROM `product` NATURAL JOIN `contractproduct` WHERE ContractID =@ID

VS 给我错误:“SQL 文本无法在网格 Pane 和图表 Pane 中表示。”即使我对其他查询使用了 =@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/

相关文章:

c# - 读取 Hyper-V 事件日志

c# - 为什么这种扩展方法不起作用?

mysql - 通过 MySQL 从数据库中检索缺失的日期

MySQL CONCAT 表过滤语法

sql - Oracle 包含提供无效的标识符 ORA-00904

c# - DirectoryEntry 甚至没有添加命名空间 System.DirectoryServices?

c# - 必须实现接口(interface) A 或接口(interface) B(恰好一个)

mysql - Doctrine ORM : possible to use EXPLAIN?

sql - 当某些东西存储为数组时的 Rails where 子句

mysql - 创建三个表之间的关系