-2

可能重复:
C# 中列值的总和

我使用以下这些代码来查看新行中的求和结果。我有三列。(SportID) (SportName) (费用)​​。我想在费用列下的新行中显示费用总和。但它会遇到一个问题。请帮我解决它。任何帮助将不胜感激

    int sum = 0;

for (int i = 0; i < dt.Rows.Count - 1; i++)
{
    sum += int.Parse(dataGridView1.Rows[i].Cells["Fee"].Value.ToString());
}

DataSet ds = new DataSet();
adapter.Fill(ds);

DataRow row = ds.Tables["Entry"].NewRow();
row[0] = "";
row[1] = "";
row[2] = sum;
ds.Tables["Entry"].Rows.Add(row);
4

3 回答 3

0

我认为这条线应该是:

DataRow row = ds.Tables[0].NewRow();
-------
ds.Tables[0].Rows.Add(row);

或添加这一行:

ds.Tables[0].TableName="Entry";
于 2012-05-07T07:11:46.053 回答
0

您在以下行中遇到异常:

DataRow row = ds.Tables["Entry"].NewRow();

可能是因为您的 ds 没有任何表或表的名称不同。放置一个断点并在可视化调试器中查看数据集或尝试使用索引访问表

DataRow row = ds.Tables[0].NewRow(); //assuming you have table on 0 index

您还可以检查

if(ds.Tables.Count > 0)
于 2012-05-07T07:11:56.457 回答
0

我表明您的数据集中存在 表条目?

DataRow row = ds.Tables["Entry"].NewRow();

您可以通过检查数据集中是否存在表来避免异常

if(ds.Tables["Entry"] != null)

您应该在访问之前添加名为Entry的表。如果您不知道名称,则可以使用索引访问该表。

DataRow row = ds.Tables[0].NewRow();
于 2012-05-07T07:12:45.347 回答