0

私は2つの異なるデータセットを使用して、vb.net. これは、ユーザー入力に基づいてデータベースから情報を表示するために使用される Windows フォーム アプリケーションです。情報が表示されると、ユーザーはレポート情報を保存するために特別に作成されたテーブルに情報を保存して、後で呼び出すことができます。私は現在、この情報を思い出そうとしているので、以前と同じ方法でデータセットを作成し、新しいデータセットを呼び出そうとしています。ここから問題が始まります。コードは以下です。

Dim dv2 As New System.Data.DataView
dv2 = New System.Data.DataView(DataSet2.Tables(0), "Status <> ''", "",       
DataViewRowState.CurrentRows)
DataTable2TableAdapter.fill(DataSet2.DataTable2, f5.ComboBox2.SelectedValue)

私は2つの問題を抱えています。

  1. の場合DataSet2.Tables(0):Reference to a non-shared member requires an object reference
  2. の場合DataTable2TableAdapter:’DataTable2TableAdapter’ is not declared. It may be inaccessible due to its protection level.

セットアップ時にデータセットの背後にある SQL ステートメントを変更する以外は、以前のデータ セットと同じコードをここに記述したため、なぜこれが起こっているのかわかりません。私はまったくアイデアがないので、どんな考えでも大歓迎です。すべての質問を歓迎します。

ありがとう

4

1 に答える 1

0

エラー番号1を修正するには、次のコードを試してください....

Dim tablezero as System.Data.DataTable
'
tablezero = DataSet2.Tables(0)

エラーが発生する理由は、オブジェクト (Table(0)) にアクセスしようとしていて、アクセスしようとしているコードには表示されないためです。SHARED の場合は表示されます。

したがって、オブジェクト インスタンス/参照を定義してからその参照にアクセスすることで解決できます。絶対に必要でない限り、それが宣言されているクラス全体にアクセスできるものを持っていること)

上記を修正しただけで 2 番目のエラーが消える可能性は十分にありますが、Dataset2 のコードがないとわかりにくい場合があります。

それが役に立てば幸い。

于 2013-01-05T23:53:46.503 に答える