使用相同的 ID 更新 OleDbCommand 中的最后一个条目
本文关键字:最后一个 OleDbCommand ID 更新 | 更新日期: 2024-10-31 18:26:09
我正在尝试更新名为"Building_Login"的表中的最后一个条目,我希望更新某个 ID 的最后一个条目(不是唯一的),但每次我尝试这样做时,它都会更新所有等于我的查询的 ID,但我只想更新最后一个。
我目前正在尝试让 TOP 1 正常工作,因为限制 1 似乎不适用于我的 Access 数据库。
OleDbCommand commandUpdate = new OleDbCommand("UPDATE [Building_Login] SET Exited = '" + DateTime.Now + "' WHERE TOP 1 User_ID = @UserID ORDER BY User_ID DESC", connection);
任何帮助将不胜感激。
这是我找到的解决方案,它很混乱,但它现在可以完成工作,我从表中选择最新的 DateTime 作为排序方式,以获取给定用户 ID 的最新结果。
OleDbCommand commandUpdate = new OleDbCommand("UPDATE [Building_Login] SET Exited = '" + DateTime.Now + "' WHERE User_ID = @UserId AND Entered = (SELECT Top 1 Entered AS latest FROM [Building_Login] WHERE User_ID = @UserId ORDER BY Entered DESC)", connection);