- PR -

VS2005での開発での素朴な疑問

1
投稿者投稿内容
新人
会議室デビュー日: 2006/07/21
投稿数: 12
投稿日時: 2006-07-21 11:46
VS2005で今回初めて開発を行っているのですが、教えて頂きたい事があります。
既存のシステム(VS6.0)では、DB(SQLServer2000)に接続時、
Iniファイルより接続文字列を参照しADOで接続しているのですが、
今回VS2005にあたりGridView等でSqlDataSourceを使用している為、
この際全ての画面でDB接続時、SqlDataSourceを配置して使用している
のですが、これはおかしな事(?)でしょうか。

参考書等確認してもそのような方法を行っていない為、
気になりまして質問させて頂きました。

またその場合、更新処理(ロックやエラー判定)はどのように行っているか
教えて頂けますでしょうか。

よろしくお願いします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-07-21 12:22
引用:

序二段さんの書き込み (2006-07-21 11:46) より:
今回VS2005にあたりGridView等でSqlDataSourceを使用している為、
この際全ての画面でDB接続時、SqlDataSourceを配置して使用している
のですが、これはおかしな事(?)でしょうか。


おかしいです。
まずロジックとUIを分離するのが設計の基本です。画面に配置する方法ではUIから分離するのが困難になります。
接続文字列がわずかでも異なるとコネクションプールが利用されずパフォーマンスが低下します。各画面ごとに接続文字列を保持しているのはパフォーマンス低下の要因にもなります。

プロトタイピングや、規模の小さなアプリケーションをお手軽に作る時には、手を抜いて画面に貼り付けたりしますけどね・・・

[ メッセージ編集済み 編集者: 甕星 編集日時 2006-07-21 12:23 ]
すけじい
会議室デビュー日: 2003/08/26
投稿数: 19
投稿日時: 2006-07-21 20:09
自分の場合はこれまで逆のケースで、GridView(や当然ながらDataSourceコントロールも)使わず、DataSetとTableAdapterで開発してきて、今回、DataSourceコントロールに取り組んでいます(うまく行けば楽そうで)。

思うに、DataSourceコントロールでのSQL接続は本当の簡易法で、その本質は、ObjectDataSourceとして、実装ずみのビジネスロジックに接続するのが良いのではないかと思いますが、そもそもあまり複雑になると、DataSouceControlの意義が失われてくるような気もします。

だいたい、TableAdpterにしたところが、transactionや同時実行制御、サーバカーソルの問題などに対応できず、以前のDataAdapterどころか、DataCommandを併用することも多いです。

ということで、ASPXフォームのSqlDataSourceControlでSQL吐きまくるのは、師匠のおっしゃるとおり、確かに手っ取り早いですが、そのうち破綻必至かと。。。
_________________
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-07-21 22:11
 設計方針次第です。

 コードをゴリゴリ書くのがいやで、ウィザードが利用したいのなら、新しい「コンポーネント クラス」を追加して、そこにまとめても良いでしょう。
1

スキルアップ/キャリアアップ(JOB@IT)