我有一个转发器,每行都有一个按钮,按钮会将一些数据记录添加到数据表中,所以如果我在每一行中单击该按钮,它将向数据表中添加更多记录。我在每一行都有一个删除按钮,应该删除从同一个转发器行添加的记录,因此只应删除从该行添加的记录。我的代码工作正常,但它正在删除数据表中的所有记录。如何删除从特定行添加的特定记录?
我的代码:
for (int i = GRX.Rows.Count - 1; i >= 0; i--)
{
DataRow dr = GRX.Rows[i];
if (lbl4.Text == "2" || lbl4.Text == "4")
{
dr.Delete();
}
}
答案 0 :(得分:0)
DataRow dr = GRX.Rows[i];
可能会选择一些您不想删除的值。
尝试将(
和)
添加到if
条件中的条件。
另外,检查是否正在将正确的参数传递给正在删除该行的SQL查询。您可能缺少WHERE id = xx
子句。
答案 1 :(得分:0)
我在转发器中有一个序列号,所以我在添加到数据表的每条记录中添加了序列,并将其添加到if语句中。
更改的代码是:
for (int i = GRX.Rows.Count - 1; i >= 0; i--)
{
DataRow dr = GRX.Rows[i];
string seq = lbl7.Text;
string GRXseq = dr[5].ToString();
string GRXseat = dr[4].ToString();
if (GRXseat == "R" && lbl4.Text == "2" && GRXseq == seq || GRXseat == "R" && lbl4.Text == "4" && GRXseq == seq)
{
dr.Delete();
}
}