使用相同的 ID 更新 OleDbCommand 中的最后一个条目
Updating last entry in OleDbCommand with the same ID
我正在尝试更新名为 "Building_Login" 的 table 中的最后一个条目 我希望更新某个 ID(不是唯一的)的最后一个条目,但每次我尝试这样做它会更新所有等于我的查询的 ID,但是我只想更新最后一个。
我目前正在尝试让 TOP 1 正常工作,因为 Limit 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);
如有任何帮助,我们将不胜感激。
这是我找到的解决方案,它很混乱,但它现在可以完成工作,我 select 来自我的 table 的最新 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);
我正在尝试更新名为 "Building_Login" 的 table 中的最后一个条目 我希望更新某个 ID(不是唯一的)的最后一个条目,但每次我尝试这样做它会更新所有等于我的查询的 ID,但是我只想更新最后一个。
我目前正在尝试让 TOP 1 正常工作,因为 Limit 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);
如有任何帮助,我们将不胜感激。
这是我找到的解决方案,它很混乱,但它现在可以完成工作,我 select 来自我的 table 的最新 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);