MySQL参数化选择查询联接表问题
本文关键字:问题 查询 参数 选择 MySQL | 更新日期: 2023-09-27 18:00:46
我将参数化选择查询与我的程序结合使用,作为一个整体,它可以工作,除非我尝试连接表。
以下是我所做的一个小摘录:
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