由于Id列按asc顺序排序,我想将排序更改为desc顺序。我有以下表格
我使用以下代码来执行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"每次被触发。为什么表没有执行所需的排序?
提前致谢
答案 0 :(得分:1)
来自SqlCommand.ExecuteNonQuery
method
对于UPDATE,INSERT和DELETE语句,返回值为 受命令影响的行数。当a上存在触发器时 正在插入或更新的表,返回值包括数字 受插入或更新操作影响的行数和数字 受触发器或触发器影响的行数。 适用于所有其他类型的 语句,返回值为-1。如果发生回滚,则返回 值也是-1。
由于您使用SELECT
语句,所以..
顺便说一句,你应该总是使用parameterized queries。这种字符串连接对SQL Injection攻击开放。