なんか、VBAでも使い回しできるようにと思ってVB選んだのに、VBA(VB6準拠?)と、VB.NET(?)じゃ、いろいろ違ってぽん載せできないじゃないか( ゚-゚)~゚
このClassでは、DBの内容を一気にテーブルに引っ張ってきている。
そのため。ドでかいデータを引っ張ってきちゃうと大変なコトになるかもしれない。
ConnectionString 引数をそのまま渡しているので、テーブル名の指定だけでなく、SQLを渡してSELECT文にORDER BYつけてSortさせたり、取り込むFieldを指定できたりもします。
そんなわけで、
現状わからない点
・変数(引数)の状態の検査
→Stringの場合、Nothingと比較するのが適当ぽい。
Ifを用いる場合は、""と変わらない動作をする(ちからのテスト範囲内では)。
ちなみに""とvbEmptyとかを見分けるには、StrPtr()を使うといいらしい( ゚-゚)~゚
設定されていないとか、各種Nullとか文字列に0とか、
そういう状態を検知するのはどういう方法が確実なんだろうか。
とりあえず、Open Methodの中で、Nothing、vbNullString、vbEmptyと比べる
なんてコトをしてみたが、困ったことに全て期待通りに動いちゃってるので…
isなんちゃら~でもやってることは一緒だろうし。
・引数の省略の仕方
Optionalで、hoge(,1)という書き方は出来た。
しかし、”第一引数が省略されている”ことが、Overrideで感知できないので、
今回の実装は諦める。
多分できると思うんだ。
hoge(,1)のように、設定の必要がないとか、ソレで別の動きをさせるための書き方。
Datas()を、オーバーライドで、引数2つで要素(i,j) as String を返す、
1つだとRecord(i) as String ()を返すギミックを仕掛けたのだけど、
Datas(,1)と呼ばれたとき、Column(1) as String()を返すよーなコトをしたい。
…とおもたら、Optionalをみつけた。そのうち試す(ぇ
・Methodへの引数の検査
今回、INDEXとして、数値を渡すのだけれども、ソレが範囲外だった場合、
VB的にはどんな動作が”普通”なんだろうか。
チェックし、その場でエラー吐いて全プログラム終了させるか、
チェックせずOSやコンパイラに任せて実行時エラーを吐かせるのか。
はたまたゆるいVBらしく、0や最大値に勝手に変更するとか(笑
とりあえず今回は、INDEXに関するあたりのチェックはしない方向で簡略化した。
ToDo
Optionalの動作確認【済】
連想配列(使えるのか?)で、Record(1,"Field名")みたいにしてデータ参照するとかとか
…SELECT文で呼ばれたときの処理がめんどちいか( ゚-゚)~゚
DB接続まわりのエラーチェック細分化。
変数未設定の検出【済】
こんなもんかな( ゚-゚)~゚
<<前 次>>
0 件のコメント:
コメントを投稿