2011-10-25 7 views
1

私のVB.Netデスクトップアプリケーションでは、読書用と更新用の両方にテーブルにアクセスしている場所がいくつかあります。例:なぜデータセットのテーブルにテーブル名でアクセスできないのですか?

Dim tempCount As Integer = Glbl.GlobalDataSet.Tables("Profiles").Rows.Count 

上記は機能しません。ただし、次のことを行います。

Dim tempCount As Integer = Glbl.GlobalDataSet.Tables(4).Rows.Count 

私はそれが目過去に働いていた(私は最近、VS 2010に切り替えている - これはそれを行うには何を持っているだろうか?)かなり確信しているが、それは今働いていません。

最初のステートメントを作成するにはどうすればできますか。インデックスではなくテーブル名でテーブルにアクセスできますか?

+0

Glbl.GlobalDataSet.Tables(4) - これの名前を確認し、それがあなたが期待しているものかどうかを確認します。 – Yatrix

+0

はい、もちろん動作します。インデックスを使用するとすべての関数が機能しますが、名前を使用する場合は機能しません。オブジェクト参照が存在しないという例外があります。 – Chiwda

+0

表示された名前が、アクセスしようとしていた名前であることを確認しておきたいだけでした。キャップされていない文字や打ち間違いの破壊力を過小評価してはいけません。 – Yatrix

答えて

0

これはの数を取得しようとした後、あなたの質問に最初のコード部分を書き込む前に

Glbl.GlobalDataSet.Tables(4).TableName = "Profiles" 

のようにテーブル名を変更しない場合、テーブル名は、データセット内のテーブル4に割り当てられていることを確認してくださいテーブル名を使用してテーブルを作成するか、データベースからデータベース値をデータセットに埋め込む際に、テーブル名を指定して入力します。

DAdapter.Fill(Glbl.GlobalDataSet.Tables("Profiles")) 
+0

Glbl.GlobalDataSet.Tables(4).TableNameは私に適切なテーブルを与え、私は行を取り出すことさえできます。しかし、Glbl.GlobalDataSet.Tables( "Profiles")。TableNameはNothing(Null)を返します – Chiwda

+0

@ user989468、テーブル名を使ってアクセスしようとすると例外がスローされませんか? –

+0

@ user989468、最初の手順で示したようにテーブル名を割り当てます。あなたはあなたの希望を得るでしょう。 –

0

DataTableの名前が正しいことを確認してください。プロパティウィンドウを使用してプロジェクトを確認し、再構築します。

関連する問題