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()