2012-08-29 138 views
0

我想要计算一个平均值,然后将平均值存储在数据库中。我有一个datagridview这是绑定到数据库。我创建了一个更新方法UpdateAvgSkill其中使用主键来更新平均值。更新方法不起作用/将不会显示在datagridview

如果我的更新方法正常工作,则结果应显示在我的datagridview中。然而这不会发生。以下是我用来更新平均值的代码。

playerListTableAdapter.UpdateAvgSkill(
      Convert.ToDecimal(average), 
      Convert.ToDecimal(dgvPlayers.CurrentRow.Cells[0].Value)); 
playerListTableAdapter.Update(dsPlayerTeam.PlayerList); 

有没有其他的方法可以让我的数据库自行更新?有关我应该如何去做这件事的任何建议?

在此先感谢您的帮助!

+0

数据库是否正确更新?这只是将新数据绑定回'DataGridView'的问题吗? – CoderMarkus

+0

感谢您的回复。 我有另一个datagridview绑定到同一个数据库表的过滤子集,当我手动更改dgvPlayers中的AverageSkill时,其他dataGridViews更新与新的数据,所以数据库绑定似乎是正确的。另外,我可以在另一个选项卡中看到其他列基于拖放功能进行更新。 – Dominique

+0

由于您的dataGridView更新时手动更改您的数据我认为可能有问题与playerListTableAdapter.UpdateAvgSkill(...)尝试打印出Debug.WriteLine(Convert.ToDecimal(dgvPlayers.CurrentRow.Cells [0] .Value) )在调用UpdateAvgSkill之前,检查这是否是正确的值 –

回答

0

经过一段时间在代码中调试UpdageAvgSkill()方法后,我们能够确认我们用来计算平均技能的datagridview的值在我们之前没有被提交到数据库运行该方法,所以它运行在空值上。

的问题实际上是关于获得新的单元格值试图在这个问题讨论更新平均技术之前提交给数据库:

Commiting changes in DataGridView before Row Change

谢谢您的帮助。