仅从重复(访问数据库)中删除1条记录
本文关键字:删除 1条 记录 数据库 访问 | 更新日期: 2023-09-27 18:14:23
我正在预订系统,但是我现在卡住了。
Microsoft access 2010 Tables:
-drinks
-ordered_drinks
结构tables:
-id,
-..,
-...,
drinks:
-id,
-title,
-price,
ordered_drinks:
-id,
-drink_id,
-table_id,
,我想只删除1个重复的行在有序的饮料表,但如果我试图只删除1饮料从重复,它将删除所有饮料具有相同的drink_id
public bool deleteDrink(int di)
{
bool removed= false;
dbcom = new OleDbCommand("DELETE FROM ordered_drinks WHERE table_id=@tableId", dbcon);
dbcom.Parameters.AddWithValue("@tableId",tableId);
removed = (dbcom.ExecuteNonQuery() >=1)? true : false;
return removed;//return boolean
}
有人知道sql语句只从重复中删除1行吗?
我想它在这个方向的某个地方。
我个人认为重复数据删除表的最好方法是获取行值,删除所有行,然后再插入一行。因为你正在使用Access,这可能是唯一的方法,然后,把一个主键放在那个表上,这样你就不会再有问题了。在SQL Server中,你可以"SET ROWCOUNT 1",之后的所有操作只会影响一行,所以你可以有效地删除一行,当where子句指向许多行时——这种方法的问题是,如果你有三个副本,你将剩下两行,必须一次又一次地运行语句,直到你只剩下一行。使用"存储值,删除所有,重新插入"方法,您可以保证在完成后只有一行。