C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 54 を表示中)
■29942 / )  Re[7]: SqlCommandBuilderによるデータ更新について
□投稿者/ 未記入 (2回)-(2008/12/16(Tue) 20:17:04)
SELECT文をベタで書いている?本当に?私はSELECT文を*ベタ*で書いているようには見えませんけど?
質問者のコードでは男性のデータだけを処理しているけど、そんな Where句は書いてありませんよね。
これはつまり、SELECT文を*ベタ*ではないということ。

SELECT文を一切書かずに済むDAOもありますけどね。そんなDAOでも対象テーブル名と対象列くらいは
なんらかの方法で記述しなくちゃならないんです。それなら「SELECT 列名 FROM テーブル名」は
直接書いたほうが簡単で合理的なんです。処理の起点でもありますしね。

それに対して、UPDATE、DELETE、INSERT を使う場合というのは、多くの場合、
プログラム内で Row オブジェクトとして表現されているのですね。つまり行が特定されているんです。
それなら、そのオブジェクトに対して操作を指示できたほうが楽だとは思いませんか?
SQL文を直接書く場合は、Row オブジェクトからキーとなる値を取り出して、
自分で Where句を表現しなおさなきゃならないんです。Row オブジェクトとして行が特定されているのにですよ?

どうですか? SELECT と他の DML が DAO において位置付けが異なるということが
理解していただけるでしょうか?
返信 編集キー/


管理者用

- Child Tree -