VC++ から DB にアクセスする必要が出てきたんですけど、よく考えたら私が VC++ 使ってたのは学生のころで、DB アクセスなんてやったことないんでした。
ODBC よりは OLE DB 使ったほうがいいんだろうなー。
とか考えつついろいろ調べてると、msdn に
ADO 用の Visual C++ Extensions なんてものを発見。
# 実際はローカルの msdn 見てたので多少記述違ったりするんですけど
扱いやすいうえにパフォーマンスも優れてるんなら試すしか、ということで試してみました。
が、いろいろ問題が。
まず、サンプルとして載ってる icrsint.h が Visual Studio 付属のものと違う。
それを直しても、妙な定数使ってるもんでコンパイルが通らない。
あと、いちいち RecordSet 用のクラス作るのが面倒な気がしてきた。
(まぁちゃんとオブジェクト指向やってないのも問題なんですけど)
仕方ないので、エクステンション未使用でアクセスすることに。
Using ADO in VC++ あたりを参考にすれば、結構あっさり使えます。
"msado15.dll" を絶対パス指定に変えたのと、sstream.h を sstream に書き換えた以外は特に問題なし。
ADOを利用する - javabasic000 も参考になった。
COleVariant も慣れるとそれほど面倒だと感じなくなるな・・・