パラメタライズドクエリはシングルクォーテーションに有効だった

このエントリの調査結果。

おおおおお。パラメタライズドクエリなんだからシングルクォートをエスケープしなくてもちゃんとただの文字として扱われてた。そりゃそうだよな。

で、なぜエラー 105 が出ていたのかというと、 INSERT 処理の前に行う SELECT が問題だったのだった。重複キーのチェックを行うその SELECT 文はパラメタライズドクエリじゃないのだ。既存のDBアクセッサクラスを使用してDBに繋いでいるのだけど、その仕様が、なぜか SELECT にだけパラメタライズドクエリを使えないようなつくりになっているから。

しょーがないなあ、もう。すてきなほどダメダメだってのは認識しているけど、なんというか、ええっと、いっぱいダメなのでその程度の感想しか出てこない。ううん。うがーーー。

しっかし、朝になったら一発でわかった。朝ってすげえ。