@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

IDBCommandのCommandTextについて

1
投稿者投稿内容
JBOY
ベテラン
会議室デビュー日: 2003/02/27
投稿数: 72
投稿日時: 2005-07-22 11:44
IDBCommandのCommandTextにパラメータつきのSQL文を格納したいのですが、
SQLCommandやOleDBCommandの両方に対応するようなSQL分がわかりません。

パラメータのセットはIDBDataParameterなどを使えばよいのはわかるのですが、
SQL文自体のプレースホルダはSQLCommandは「@Name」、OleDBCommandは「?」なので
この両方に対応するにはどうしたらよいのでしょうか?
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-07-22 12:52
JBOYさん、こんにちは。

条件分岐と文字列操作、じゃないでしょうか。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-07-22 20:39
諦めましょう。。。

 または、"@Name" 等で作っておき、OleDb 等へは "@¥w" を "?" に置き換える処理をするとか。
_________________
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-07-23 00:59
JBOYさん、こんばんは。

引用:

SQLCommandやOleDBCommandの両方に対応するようなSQL分がわかりません。


そもそも、何でその必要が…?

もしかして接続先のDBそのものが変わるっていう話なら、パラメータの書き方だけじゃなくなってきたりしますから、文字列操作であれこれするよりも、DB毎に別のSQLを用意しておく方が現実的かも知れません。もっと言えば、DB毎にクラスも分けるとか。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-07-23 06:38
引用:

きくちゃんさんの書き込み (2005-07-23 00:59) より:

もしかして接続先のDBそのものが変わるっていう話なら、パラメータの書き方だけじゃなくなってきたりしますから、


 ですネ。
_________________
JBOY
ベテラン
会議室デビュー日: 2003/02/27
投稿数: 72
投稿日時: 2005-08-03 17:55
返信が大変遅れてしまい、申し訳ありませんでした。

今、使用しているDBがいずれ変更になるという話がありまして、
どうにかしてその際のインパクトをできるだけ減らそうかと
考えていたので、このような考えが浮かびました。
(DBの変更に関しては私に突っ込まれてもどうしようもなく、
お上の命令なのでどうにもできません。
おかしな話だとは思うのですが・・。)

時間もなく、両方の分を今作成しているわけにはいかないので、
来るべき時に作ることにします。。

返事が遅れてしまいましたが、ありがとうございました。
1

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