C# 如何停止DataGrid添加行?

C# 如何停止DataGrid添加行?,c#,C#,这是我的方法: Datatable data2 = new Datatable(); int result = 0; using (SqlConnection conn = new SqlConnection(connStr)) { try { SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; conn.Open(); cmd.CommandText

这是我的方法:

Datatable data2 = new Datatable();
int result = 0;
using (SqlConnection conn = new SqlConnection(connStr))
{
    try
    {
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        conn.Open();
        cmd.CommandText = "SELECT * from TableA";
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        result = da.Fill(data2);

        if (result > 0)
        {
            this.dgBatch.DataSource = data2;
        }
        else
        {
            MessageBox.Show("No Records!");
        }
    }
    catch (Exception ee)
    {
        MessageBox.Show(ee.Message);
    }
    finally
    {
        if (conn.State == ConnectionState.Open) conn.Close();
    }
}
如果我连续调用这个方法,它总是从第一个查询中添加行

例如:
表数据:5
第一次呼叫:5
第二个电话:10。它复制第一次调用的所有记录


感谢您的支持,这是因为您正在重用数据2。您应该在下一行之前为
data2
创建一个新实例:

result = da.Fill(data2);

假设data2是一个datatable

结果=数据填充(数据2);将始终合并结果,因为您使用的是相同的datatable实例

如果希望每次都获得一个新副本,那么就创建一个新的datatable实例,并用数据填充该实例

因此,结果之前的行=da.Fill(数据2);添加以下行

data2=新的Datatable()