ゼロサプレス、ってよく使う言葉だけど、前ゼロ詰めすることだと思ってなかった? 私は層信じて疑わなかった。でも、IT media IT用語辞典によると、
ゼロサプレス 【zero suppress】
読み方:ゼロサプレス指定した桁数に満たない数値を文字として表現するときに、先頭の「0」を削除する、もしくは空白で置き換える処理のこと。
「102」という10進数の数値を5桁で表現する場合は、「00102」ではなく、「 102」もしくは「102」とする。「00000」は「 0」あるいは「0」になる。
「指定した桁数まで先頭を0で埋める」という逆の意味に取り違えている人が多いので注意が必要である。
おもっきし逆じゃん! あれー?
ODBC を使ったサンプルは、巷にごろごろしてるのですが、SQLAllocEnv といった、推奨されない古い関数を使用したものが多いようです。新しい関数を使おうとすると、サンプルが少ないうえに、ドキュメントが英語で苦労しました。共通関数化したものをアップしておきます。使用例はそのうち追記します。
追記(2004/08/17)。トランザクションを明示的にコミットまたはロールバックするには、データソース接続後に自動コミットをオフにする必要があります。SDKドキュメントには、接続前でもいいと書かれていますが、後でないと期待した動きにならないようです。サンプルは未修正です。
追記(2004/08/18)。データソースに接続した後、自動コミットをオフにする処理を追加しました。
2chのどっかで拾ったコード。なるほどーと思ったので貼ってみる。
#ifdef _DEBUG #define debug_printf printf #else // _DEBUG #define debug_printf 1? (void)0: printf #endif // _DEBUG