gpt4 book ai didi

c# - MySQL 参数化选择查询连接表问题

转载 作者:行者123 更新时间:2023-11-29 03:01:13 25 4
gpt4 key购买 nike

我将参数化选择查询与我的程序结合使用,作为一个整体,它可以正常工作,除非我尝试连接表。

这是我所做的一小段摘录:

using (MySqlCommand cmd = new MySqlCommand(paramQuery.ToSql(), connection)) {

/*
paramQuery.ToSql() equals:

"Select tableOne.ID, tableOne.Department, tableTwo.Name
From tableOne, tableTwo
Where tableOne.ID = @param0"
*/


for (int index = 0; index < paramQuery.Parameters().Count; index++)
cmd.Parameters.AddWithValue(paramQuery.Parameters().ElementAt(index).Key,
paramQuery.Parameters().ElementAt(index).Value);

/*
paramQuery.Parameters().ElementAt(index).Key = "@param0"
paramQuery.Parameters().ElementAt(index).Value = "tableTwo.ID"
*/

MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
// Do stuff
}

我尝试加入的其中一个表将检索 tableTwo 中所有具有相同 ID 的所有人。我在这里做错了什么吗?

最佳答案

试试这个:

  Select tableOne.ID, tableOne.Department, tableTwo.Name
From tableOne join tableTwo
on tableOne.ID=tableTwo.ID
Where tableOne.ID = @param0

正如您所理解的,tableOne.ID=tableTwo.ID 是您在其上连接表的列的名称。在您当前的示例中,我看不到它是如何工作的。还有左连接和右连接,它们各自用于不同的目的。这里有一些例子来了解它是如何工作的:http://dev.mysql.com/doc/refman/5.0/en/join.html

关于c# - MySQL 参数化选择查询连接表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com