- - PR -
DbCommandへの型変換でエラー
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-05-07 14:57
これは場合によって SqlCommand が OracleCommand や OleDbCommand になったりするってことじゃないですか? で、どれになっても DbCommand or IDbCommand で処理をしたいと。 _________________ かるあ のメモ と スニペット | ||||||||||||
|
投稿日時: 2007-05-07 15:23
そういう使い方が出来るなんて知りませんでした。 かるあさん、フォローありがとうございます。 ちゃんと調べれば、問題無いことくらい分かるのに・・・orz DbCommand クラス Furi2さん、混乱させてごめんなさい。 | ||||||||||||
|
投稿日時: 2007-05-07 17:07
このメソッドからDbCommandを受け取って処理をする部分が既に多数存在するので、使用している部分全てでキャストするもしくは全てIDbCommandに変更するより、この元メソッドの中でキャストしてしまったほうがいいと思いました。0からコードを書いていくなら確かにIDbCommandのまま使ったほうがいいですよね。 | ||||||||||||
|
投稿日時: 2007-05-07 17:09
その通りでございます。ありがとうございました! | ||||||||||||
|
投稿日時: 2007-05-07 23:24
いい加減 .NET Compact Framework のドキュメントは別に書いてほしいですね。(そう思うならフィードバックしろって話ですが)
.NET Compact Framework の DbCommand は System.Data.dll に、SqlCommand は System.Data.SqlClient.dll にあります(この時点で違いがあります)。そして、.NET Compact Framework の SqlCommand は DbCommand を継承していません。なので、SqlCommand は DbCommand の参照に設定できないという現象が起きます。 これらはオブジェクトブラウザ等で検証すればわかる事なのですが、MSDN ライブラリ上では .NET Framework と .NET Compact Framework を一緒に書いているのでわかり難いですね。 _________________ 囚人@わんくま同盟 [url=http://blogs.wankuma.com/shuujin/]囚人のジレンマな日々[/url] [ メッセージ編集済み 編集者: 囚人 編集日時 2007-05-08 00:47 ] | ||||||||||||
|
投稿日時: 2007-05-08 01:41
囚人さん、
なるほどです。。それはわかりませんでした&大いに納得です。DbCommandがDbProviderFactoryクラスと関わっていて、Compact FrameworkがFactoryクラスをサポートしていないことに関連があるのでしょうか。それにしてもありがとうございました。非常にすっきりしました。 |