除非我逐步执行代码,否则数据库更新不会显示在数据网格中

时间:2014-10-22 15:28:55

标签: c#

这是我以前问过的同一个应用程序。我有一个Access数据库,我使用数据适配器,数据表,OleDbCommandBuilder,数据网格和一些文本框来显示数据库中的一行。数据网格的数据源设置为数据表: DataGrid1.DataSource = dTable;我对数据库做了什么,它会自动反映在数据网格中。

我有一个按钮来运行一些测试代码,以使用我自己的sql命令对数据库中的记录进行条件更改。我正在使用连接对象和以下方法来创建和执行我的命令:

dAdapter.UpdateCommand = connection.CreateCommand();
dAdapter.UpdateCommand.CommandText = sql;
dAdapter.UpdateCommand.ExecuteNonQuery();
dTable.Clear(); 
dAdapter.Fill(dTable);
dataGrid1.DataSource = dTable;

这是踢球者,如果我设置了一个断点并逐步执行代码,当我回到表单时,网格显示更新,如果我将文本框移动到已更改的记录,则显示更改/更新。如果我摆脱断点并运行应用程序,网格和文本框将反映更改。如果我再次按下按钮再次运行相同的代码,那么它将反映所有内容。或者,如果我关闭应用程序并再次运行它将显示更改。如果我再次设置断点并运行到断点并逐步执行几行,然后运行F5,则更改将反映在网格和文本框中。如果我跑到同一个断点,然后点击F5继续,那么网格和文本框将不会显示更改,就像我刚刚正常运行应用程序一样。

我尝试使用网格刷新并将源设置为null然后再返回数据表。什么都行不通! Arrrrgggggg!这似乎是一个刷新问题,因为它在我单步执行代码时起作用。虽然文本框也没有反映出这些变化。但是,单步执行代码比正常运行代码有所不同。

任何人都可以帮忙吗?

谢谢!

0 个答案:

没有答案