在C#中按降序排序sql表

时间:2014-06-10 11:10:59

标签: c# sql sql-server

由于Id列按asc顺序排序,我想将排序更改为desc顺序。我有以下表格enter image description here

我使用以下代码来执行desc排序,但表中没有任何反应。

 private void button4_Click(object sender, EventArgs e)
    {
        string columnName = textBox9.Text;
        try
        {
            using (SqlConnection cn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Produkt.mdf;Integrated Security=True"))
            {
                cn.Open();
                using (SqlCommand command = new SqlCommand("SELECT Id, Navn, Varenr, Antal, Enhed, Priseksklmoms, Konto FROM ProduktTable ORDER BY [" + columnName +
             "] DESC", cn))
                {
                    command.ExecuteNonQuery();
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

    }

我正在撰写专栏名称" Id"在textBox9中,ExecuteNonQuery方法返回一个" -1"每次被触发。为什么表没有执行所需的排序?

提前致谢

1 个答案:

答案 0 :(得分:1)

来自SqlCommand.ExecuteNonQuery method

  

对于UPDATE,INSERT和DELETE语句,返回值为   受命令影响的行数。当a上存在触发器时   正在插入或更新的表,返回值包括数字   受插入或更新操作影响的行数和数字   受触发器或触发器影响的行数。 适用于所有其他类型的   语句,返回值为-1。如果发生回滚,则返回   值也是-1。

由于您使用SELECT语句,所以..

顺便说一句,你应该总是使用parameterized queries。这种字符串连接对SQL Injection攻击开放。