- - PR -
DataSetの生成についての疑問
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-11 21:56
msoです。
VB.NETでC/Sのシステムを作り初めて半年ほどが 経っていますが、当初からの疑問がいまだに解決しないため 教えてください。 フォームデザイン画面にして、 データ(A)→データセットの生成(G) とやってデータセットを作成する方法システムを作っています。 当初はなんでこういうことをやるのか?と周りに聞いたのですが、 全員がわからずどっかの研修を受けた際に”こうやるものだ”と 言われたそうです。 そのときはいつか何か便利なことがあるはずとやってきたのですが、 今のところあまり便利だと感じたことがありません。 個人的にはPrivateでDataSetを宣言して、DataColumnsはLoad時に 対応しているほうが楽なのです。 #個人的に楽だから一人で勝手なことはやっていませんよ で、上記のデータセットの生成は何が便利なのか教えていただきたいです。 ものすごい基本的なことではあると思いますが、よろしくお願いします。 | ||||||||||||||||
|
投稿日時: 2005-02-11 22:13
型等が確定することです。
row["abc"] これって実行時にしかabcがあるかわかりませんが、 row.abc これは既にコンパイル時に存在することが確定しています。 xsdの裏に隠れているソースがあります。一度それを見てみてください。 かなりの量のソースをVisual Studioが出力してくれていますよ。(^^ | ||||||||||||||||
|
投稿日時: 2005-02-12 00:38
msoです。
んー、やっぱり実行する前に型が分かるってことが一番わかりやすいメリットなんですよね。 個人的にはDataSetの中にあるDataTableに対してやりたいことが出来ないことが 多いので微妙に使いづらいです。 おそらくは私がまだ使いこなせていないからなんでしょうか?? 世間ではDataSetってやっぱり使い易いものなんですよね? | ||||||||||||||||
|
投稿日時: 2005-02-12 12:03
具体的にどんなことができないんですか?? | ||||||||||||||||
|
投稿日時: 2005-02-12 19:53
私はフォームに追加するのではなく、xsdを作っています。それをprivateで宣言。 _________________ | ||||||||||||||||
|
投稿日時: 2005-02-12 22:38
メリットですが、カラムにアクセスする場合のパフォーマンスは、
Columnオブジェクト <- 列インデックス <- 列名 になるようです。 特に列名とColumnオブジェクトの比較では、約2倍の差が出るとのこと(プログラミングADO.NET [日経BPソフトプレス]より)。 VSが自動生成してくれる型付データセットはカラムのアクセスにColumnオブジェクトを使用しているので、それもメリットになるかと思われます。 自分でソース書く場合の保守性は、上記パフォーマンスの逆になるでしょうから。 | ||||||||||||||||
|
投稿日時: 2005-02-13 00:09
msoです。
Nullの値を入れることが出来なかったりしますよね? あと、DataTableの値をうまくセット出来なかったり・・・(コレは私の知識不足だと思います)
なるほど。 まったくやっていませんでした。
んーっと、つまり早くなると言うことなのでしょうか??? | ||||||||||||||||
|
投稿日時: 2005-02-13 01:15
速くなるということです。
あと、Null値がセットできることがメリットということですが、その列にNull値がセットできないってことは、元になるDBのテーブルの該当列がNullを許可していないからだと思いますが(VSが調べて該当列のAllowDBNullをFalseにしてます)、その場合に自前で作ったデータセットにNullがセットできるというのは、メリットとは思えないのですが。 |