- 題名: Datasetへの項目セットについて
- 日時: 2008/09/01 18:42:37
- ID: 22883
- この記事の返信元:
- (なし)
- この記事への返信:
- [22884] Re[1]: Datasetへの項目セットについて2008/09/01 19:47:40
- ツリーを表示
■No22892に返信(KYOUさんの記事) > なぜかわからいないのですが、table(0)で作った行数分、table(1)が作られています。 ですから、分からないなら調べてください。 少なくとも Table が作成されたコードから1行1行確認すれば どの命令で行数が増えてるかは特定できるでしょう? どの命令の前でどのように確認した結果がどうなっており、 その命令の後で結果がどうかわっているのですか? 省略せず、こちらで再現できるように説明してください。 > 1行実行毎に確認してみたのですが、やはりtable(1)はds(0) = "*****"でセット この表現も正確ではないと思います。ds の変数宣言が抜けているので妙なことを している可能性もありますが、DataRow で宣言してあると仮定して、新しい行に "*****"でセットしただけではデータはテーブルに反映されません。 Dataset.Tables(1).Rows.Add(ds)の前後で Tables(1) に反映されるはずです。 Add の前でどのようなコードでデータを確認し、実行後に同じコードで確認すると どう変わっていましたか?こちらでコピペするだけで動作確認できるサンプルコード が理想です。
分類:[.NET]
お世話になります。
テーブル2つに対して、項目をセットをしているのですが、table(1)だけ
一度の命令で全行に同じ値がセットされてしまいます。
table(0)の場合
dr = Dataset.Tables(0).NewRow() '列をあたらしく作る
dr(2) = strTemp(intCnt) '項目をセットする
Dataset.Tables(0).Rows.Add(dr) 'データセットに行を追加
結果
111
222
333
実際に命令の1行目から3行目はループさせていて、それぞれ別の項目が入っています。
table(1)の場合
ds = Dataset.Tables(1).NewRow() '列をあたらしく作る
ds(0) = "*****" '項目をセットする
Dataset.Tables(1).Rows.Add(ds) 'データセットに行を追加
結果
*****
*****
*****
1回しか命令を通ってないはずなんですが、行数分だけ同じ項目がセットされています。私の想定では、1行目だけ"*****"が表示されると思うのですが・・・
列へのセットの仕方が間違っているのでしょうか?