0

我有一个中继器,每行都有一个按钮,按钮会将一些数据记录添加到数据表中,所以如果我在每一行中单击该按钮,它将向数据表添加更多记录。我在每一行都有一个删除按钮,应该删除从同一转发器行添加的记录,因此只有从该行添加的记录应该被删除。我的代码工作正常,只是它从数据表中删除了所有记录。如何删除从特定行添加的特定记录?

我的代码:

for (int i = GRX.Rows.Count - 1; i >= 0; i--)
                {
                    DataRow dr = GRX.Rows[i];

                    if (lbl4.Text == "2" || lbl4.Text == "4")
                    {
                        dr.Delete();
                    }
                } 
4

2 回答 2

0

DataRow dr = GRX.Rows[i];可能正在选择一些您不想删除的值。

尝试在条件中添加(和。)if

此外,检查是否将正确的参数传递给删除行的 SQL 查询。您可能缺少一个WHERE id = xx子句。

于 2012-09-04T07:36:14.017 回答
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();


                    }
                }
于 2012-09-06T10:56:25.417 回答