1

あなたは私をバカだと笑うかもしれませんし、反対票を投じるかもしれません。でも大丈夫です。私はこの単純な質問に数日間苦労しました。基本的に、Windows フォームで datagridview を使用してテーブルを表示したいと考えています。テーブルはストアド プロシージャから取得されます。

BindingSource bsource = new BindingSource();
    DataSet ds = new DataSet();
    private SqlDataAdapter da;
    DataTable table1 =  some subroutine

次に、テーブルが存在します。 スナップショット

次に、以下のコードを実行すると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません。」という例外が発生しました。

ds.Tables.Add(table1);
            da.Fill(table1); // here catch an error.
            bsource.DataSource = table1;
            datagridview1.DataSource = table1;
4

2 に答える 2

0

daこの間のどこかで初期化していない限り:

private SqlDataAdapter da;

この:

da.Fill(table1);

もちろん、何も指していないため、NPEを取得します。私はあなたが意味したと思います:

private SqlDataAdapter da = new SqlDataAdapter();
于 2012-05-07T12:42:52.263 に答える
0

初期化していませんSqlDataAdapter

private SqlDataAdapter da = // Initialize adapter here.
于 2012-05-07T12:44:04.657 に答える