【发布时间】:2015-01-16 02:59:21
【问题描述】:
我只是在寻找从表中删除顶部记录的简单代码。
我试过了:
SqlCommand Delete = new SqlCommand("Command String", cn);
cn.Open();
Delete.CommandText = "DELETE TOP (1) queue.* FROM queue ";
Delete.ExecuteNonQuery();
cn.Close();
但我得到一个错误:
'*' 附近的语法不正确。
TOP 似乎只适用于SELECT。
【问题讨论】:
-
试试这个。
DELETE TOP 1 FROM queue -
是的,总是需要删除的最高记录。现在唯一的问题是在删除记录后刷新数据网格
-
@ghost10000 - 你没有抓住重点。您可能总是想删除第一行,但 SQL 不能保证每次都会返回第一行。DELETE TOP(1) 不会删除第一行。它会删除 SQL 决定返回给您的第一行。看这里:technet.microsoft.com/en-us/library/…。然后在下面看我的答案
-
对每个 SQL 标准行进行排序当且仅当您通过
ORDER BY子句对其进行排序。
标签: c# sql sql-delete