2012-03-14 4 views
0

なぜデータセットをループするときに、 "(0)"を使用する必要がありますか?私はそれを使用しないたびにエラーが発生するので、私はそれを使用することを学んだが、本当に理由は分かりません。私はなぜこれが使われているのかをよりよく理解しようとしています。ここでは、以下の例である:vb.netでデータセットを使用する

for each row as datarow in ds.tables(0).rows 
    next 

    '******Note: If i use this I get an error ******************** 
    for each row as datarow in ds.tables.rows 
    next 

そしてまた別の質問は、この質問に関して、頭に浮かぶのは、ローカルでのVisual Studio 2010年まで、私はそれぞれの文のためにそれを使用して、私がすることを使用している場合、それは期待通りに動作しますが、ということです運用サーバー上の各レコードについて、レコードがない場合はエラーが発生するので、レコード数を入力してから、それぞれのレコードを実行してください。その周りにはとにかくありますか?

答えて

2

ds.tablesはテーブルの配列なので、0はテーブルの配列の最初のインデックスです。配列内の特定の要素にアクセスするために必要なインデックスを定義していないため、2番目のscenerioでは機能しません。

2

質問1の問題は、データセットに多数のテーブルを保持できるため、そのテーブルの行にアクセスするためにインデックスまたはテーブル名を指定する必要があることです。どうしてローカルとプロダクションの違いがあるのか​​分かりませんが、同じように動作するはずです。

ウェイド

+0

ありがとう、私は完全に理解しています – Will

関連する問題