我正在尝试在winform上执行CRUD操作
这是针对ASP.NET winform的,其中每当我尝试向所有行中的第一行插入,更新或从数据库中删除数据时,内部内容都会重复 https://imgur.com/a/d5jgv6H 但是,重新启动后,应用程序数据会正确显示
{% if not myItemData.free1 is empty %}
{% for image in myItemData.free1|split(',') %}
<img class="free1img" src="/documents/gefahrenicons/{{ image|trim }}.gif" />
{% endfor %}
{% endif %}
查询工作正常,但行仍然重复。 怎么了? 我找不到任何错误,所以我想我做错了什么。
答案 0 :(得分:0)
您的show
方法将行添加到网格中,但从不删除网格中已存在的行。
通常,人们将使用数据绑定来填充DataGridView
或其他数据绑定控件。我将假设您有理由直接添加行(也许对您而言更简单)而不更改它。在这种结构下,最简单的操作可能就是在添加新行之前清除网格:
void show()
{
String query = "select * from student";
SqlDataAdapter adapter = new SqlDataAdapter(query, con);
DataTable dataInTable = new DataTable();
adapter.Fill(dataInTable);
dataGridView1.Rows.Clear(); // <--- here
foreach (DataRow item in dataInTable.Rows)
{
int n = dataGridView1.Rows.Add();
dataGridView1.Rows[n].Cells[0].Value = item[0].ToString();
dataGridView1.Rows[n].Cells[1].Value = item[1].ToString();
dataGridView1.Rows[n].Cells[2].Value = item[2].ToString();
dataGridView1.Rows[n].Cells[3].Value = item[3].ToString();
dataGridView1.Rows[n].Cells[4].Value = item[4].ToString();
}
}
这样,您每次要用新数据填充网格时,都首先要从中清除现有数据。