C# c中datagridview中的新求和行

C# c中datagridview中的新求和行,c#,sql-server,c#-4.0,C#,Sql Server,C# 4.0,可能重复: 我使用以下代码在新行中查看求和的结果。我有三个专栏。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()); } Dat

可能重复:

我使用以下代码在新行中查看求和的结果。我有三个专栏。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);

我认为这一行应该是:

DataRow row = ds.Tables[0].NewRow();
-------
ds.Tables[0].Rows.Add(row);
或添加以下行:

ds.Tables[0].TableName="Entry";

您在以下行中遇到异常:

DataRow row = ds.Tables["Entry"].NewRow();
可能是因为ds没有任何表,或者表的名称不同。放置断点并在visual debugger中查看数据集,或尝试使用索引访问表

DataRow row = ds.Tables[0].NewRow(); //assuming you have table on 0 index
您也可以查看

if(ds.Tables.Count > 0)
是否显示数据集中存在表项

DataRow row = ds.Tables["Entry"].NewRow();
您可以通过检查数据集中是否存在该表来避免异常

if(ds.Tables["Entry"] != null)
您应该在访问名为Entry的表之前添加它。如果您不知道该名称,则可以使用其索引访问该表

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

您得到的错误是什么?@CraigSchwarze此行DataRow row=ds.Tables[Entry].NewRow;它说对象引用未设置为objectI的实例。我有一个条目表名。@程序员请验证拼写和C是否区分大小写。当我对表使用索引0时,它告诉我此错误输入字符串的格式不正确。Couldent的存储在SportID列中。表中的哪一列是SportID,类型应为Int32,似乎是第[0]行或第[1]行。您必须为它设置int值当我为表使用索引0时,它会告诉我此错误输入字符串的格式不正确。Couldent的存储在SportID列中。预期类型为Int32。当我对表使用索引0时,它会告诉我此错误输入字符串的格式不正确。Couldent的存储在SportID列中。预期的类型是Int32。@程序员,你在说什么?你是通过0还是仅仅通过0?它应该是简单的0,而不是quotes@aliprogrammer,您从何处获得此错误?