无法获取此代码以打印我需要打印的内容。 我有一个下拉列表,允许用户选择他们希望表被排序的内容。我得到了这个值并将其绑定到参数' @ param'。它没有按正确的顺序放置表中的项目。
注意:当我更改'字符串sql'对于我的下拉列表中的值,它可以正常工作。
string sql = "Select * from yeet order by @param desc;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Prepare();
cmd.Parameters.AddWithValue("@param", DropTopWop.SelectedValue.ToString());
MySqlDataReader reader = cmd.ExecuteReader();
答案 0 :(得分:6)
你需要这样做:
order by
case @param
when 'PutYourColumNameHere' then PutYourColumNameHere
when 'AnotherColumn' then AnotherColumn--, and so on
end desc
例如,如果您的表格players
有2列名为Age
和Name
,那么它将如下所示:
Select * from players
order by
case @param
when 'Age' then Age
when 'Name' then Name
end desc;