可能的重复:
具有不同主键的 SQL 重复
我的查询返回gridview 中的所有重复项。但是,当我从重复项中选择一条记录时,两条记录都会被删除。当我对用户列表中的所有用户使用直接选择时,删除选项将仅删除选定的行。我怀疑当我从 dup 中选择一条记录时,它正在使用 select 命令,因此同时抓取了两个主键。
SelectCommand="SELECT [PKEY], [user] FROM [userlist]
WHERE LogonName IN (
SELECT [user]
FROM [userlist]
GROUP BY [user]
HAVING (COUNT([user]) > 1))"
DeleteCommand="DELETE FROM [userlist] WHERE [PKEY] = @PKEY" >
在复选框后面添加代码,这在使用直接选择时有效:
if (checkbox.Checked)
{
int PKEY = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
SqlDataSource1.DeleteParameters["PKEY"].DefaultValue = PKEY.ToString();
SqlDataSource1.Delete();
}