- - PR -
DBのnull値をチェックする方法について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-02-22 13:06
いつも勉強させて頂いております。
OleDbDataReaderを使用して、DBへの接続をする際に、 SELECT文の条件で値が帰ってくる場合と空の場合があ ります。 それをOleDbDataReaderを使用してDataListにバイン ドさせて表示し、問題は無いのですが、空の時には別な 処理を行おうと思います。 OleDbDataReaderを使用して、値が取れたかどうかを 判別する方法を教えてください。 どうしても自分では解らず、 while(OleDbDataReader.Read()){ string Data=OleDbDataReader.GetValue(1).ToString(); } などとやり、Dataに第一列目の値が入っているかどうか判別 していますが、もっと他に効率の良い方法があるのではないか と思っています。 よろしくご教授ください。 | ||||
|
投稿日時: 2003-02-22 14:59
ご質問の内容は、列要素のnullのチェックのことでなく、行そのものが存在しているか
どうかということですよね。 であるとすれば、DataListコントロールにデータをバインド後、Itemsプロパティの Countプロパティの値をみて、0なら行なし1以上なら行が存在していると判断すれば よいと思われます。 [ メッセージ編集済み 編集者: べーちゃん 編集日時 2003-02-22 15:27 ] | ||||
|
投稿日時: 2003-02-22 17:42
ご返答ありがとうございます。
その通りでして、行そのものが存在するかどうかを チェックしたいのです。 DataListを使用する方法につきましては、実はこれを 回避したいが為に色々画策していまして、DataListに バインドする前にチェックする方法はやはり無理なので しょうか? 今後もよろしくご教授ください。 | ||||
|
投稿日時: 2003-02-23 03:52
DataReaderは実際に読んでみるまでは何もわからないようなので、
結果0件が多い場合はあらかじめselect countで件数を数えてみるか、 あるいはスタンダードにDataReaderやめてDataSetを使うのが妥当では ないでしょうか。
一度Read()してしまうと、DataListの表示で1つ足りなくなりますよね。 whileしているということは自分でバッファリングしているということ でしょうか。とするとDataSetと大差ないような・・・ | ||||
|
投稿日時: 2003-02-24 13:05
Valhallasさんご返答ありがとうございました。
やはり無茶なことをやろうとしてたようですね。 DataReaderの方をDataSetより優先して使おうと思い やってきましたが、確かにCountのSQL文と通常のSQL文 の二回DataReaderを使用するより、一度のDataSetの方 がパフォーマンスは良さそうですね。 だけど、実際の所どうなんでしょうね? 今後もよろしくご教授ください。 |
1