-2

重複の可能性:
C# の列値の合計

これらの次のコードを使用して、新しい行の合計の結果を確認します。私は3つの列を持っています。(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["Entry"].NewRow();

テーブルがデータセットに存在するかどうかを確認することで、例外を回避できます

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

アクセスする前に、 Entryという名前のテーブルを追加する必要があります。名前がわからない場合は、インデックスを使用してテーブルにアクセスできます。

DataRow row = ds.Tables[0].NewRow();
于 2012-05-07T07:12:45.347 に答える
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 に答える